我正在尝试从集合中获取id以传递给视图。我能够获取模型的信息,只是无法获取视图来获取数据。
在我的模板中,每一行都有模型ID:
<td><a href="#/process/<%= model.id %>"><%= model.name %></a></td>
我的路由器看起来像这样:
var Router = Backbone.Router.extend({
routes: {
'': 'welcome',
'process/:id': 'process'
}
});
var router = new Router();
router.on('route:process', function(id) {
console.log('home page loaded');
console.log(id);
var processing = new Processes({id:id});
processing.fetch({
success: function(model,response){
console.log(model.where({'id':id}))
}
})
processView.render({id: id});
});
正确的ID正在通过,但我无法获取视图来检索ID。
这是我使用Backbone.js的第一个项目
答案 0 :(得分:1)
在fetch(http://backbonejs.org/#Model-fetch)方法调用返回之前,您将无法使用id / model属性,因为它是异步完成的Ajax调用。
因此,从服务器获取数据后需要执行的所有操作都应放在成功/错误(用于错误处理)回调中。
在您的情况下,对渲染视图的调用应该在成功回调中移动为贝尔。
processing.fetch({
success: function(model,response){
console.log(model.where({'id':id}))
processView.render({id: id});
}
});