我有一个项目列表,单击它们应该会显示用户详细信息(另一个 View )。
在我的路由器中,我有这样一条路线:
'details/:id' : 'details',
现在,在详细功能中,我应该获取我的对象(获取将触发新的 View 渲染)。
但是我应该怎么做才能让主干将项目ID附加到model.url?
我现在有两种方法:
获取时动态创建 url:
this.realty_object.fetch({url: SITE_PATH + 'blah/blah/' + id});
像这样的东西:
this.realty_object
.set({id : id}, {silent: true})
.fetch();
但我怀疑这是正确的解决方案。应该如何? model.urlRoot 和 model.url() 有什么区别。
最佳答案
正确的答案是使用模型的 urlRoot 属性。如果已设置,则模型 ID 将在获取时附加到此 url。所以它可能看起来像这样(对象的名称与我的第一篇文章中的名称不同,但想法是相同的 - 通过 id 获取单个模型):
Group = Backbone.Model.extend({
urlRoot: SITE_PATH + 'group/index',
});
在路线上:
this.group = new Group({id: id});
this.group.fetch();
关于backbone.js - 获取具有 id 的 Backbone 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391671/