Backbonejs model中的url和urlRoot
博客专区 > cyper 的博客 > 博客详情
Backbonejs model中的url和urlRoot
cyper 发表于2年前
Backbonejs model中的url和urlRoot
  • 发表于 2年前
  • 阅读 83
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

详见:http://backbonejs.org/#Model-url

总结:
1. 在调用collection.fetch(..)的时候, 会向collection.url发GET请求,所以在collection中必须定义url.
2. 在调用model.fetch(...)的时候, 如果没有找到model.urlRoot属性,则会向collection.url + / + model.id发GET请求,
    如果找到了urlRoot,则会向model.urlRoot + / + model.id发GET请求。

var Blog = Backbone.Model.extend({});
var BlogCollection = Backbone.Collection.extend({
 url: 'http://localhost:3000/blogs'
});

var blog = new Blog({id: 1});
var blogs = new BlogCollection([blog]);
blogs.fetch(); // GET '/blogs'
blog.fetch(); // GET '/blogs/1'

3. 如果要单独使用blog(不把blog添加到collection的情况下), 调用blog.fetch(..)会报错, 此时要给Blog定义urlRoot属性

var Blog = Backbone.Model.extend({
 urlRoot: 'http://localhost:3000/blogs'
});
var blog = new Blog({id: 1});
blog.fetch(); // GET '/blogs/1'
4. 代码: https://github.com/uniquejava/backbone.test
标签: backbone url urlRoot
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
cyper
粉丝 56
博文 619
码字总数 143128
×
cyper
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: