我有一个项目列表,点击它们应该给用户带来详细信息(另一个视图).在我的路由器中,我有这样的路线:
'details/:id' : 'details',
Run Code Online (Sandbox Code Playgroud)
现在,在详细功能中我应该获取我的对象(获取将触发新的视图渲染).但是我应该怎么做才能将骨干附加项ID发送到model.url?我现在有两种方式:
在获取时动态创建URL:
this.realty_object.fetch({url: SITE_PATH + 'blah/blah/' + id});
Run Code Online (Sandbox Code Playgroud)
这样的事情:
this.realty_object
.set({id : id}, {silent: true})
.fetch();
Run Code Online (Sandbox Code Playgroud)
但我怀疑这是正确的解决方案.怎么样?model.urlRoot和model.url()之间有什么区别.
SET*_*SET 34
正确的答案是使用模型的urlRoot属性.如果已设置,则模型ID将在获取时附加到此URL.所以它可能看起来像这样(对象与我的第一篇文章中的名称不同,但想法是相同的 - 通过id获取单个模型):
Group = Backbone.Model.extend({
urlRoot: SITE_PATH + 'group/index',
});
Run Code Online (Sandbox Code Playgroud)
在途中:
this.group = new Group({id: id});
this.group.fetch();
Run Code Online (Sandbox Code Playgroud)