从模型传递id以查看Backbone.js

Passing id from model to view Backbone.js

本文关键字:Backbone js id 模型      更新时间:2023-09-26

我正试图从集合中获取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 的第一个项目

在获取之前,id/model属性将不可用(http://backbonejs.org/#Model-fetch)方法调用返回,因为它是异步完成的Ajax调用。

因此,从服务器获取数据后需要执行的所有操作都应该放在成功/错误(用于错误处理)回调中

在您的情况下,对呈现视图的调用应该作为bel移动到成功回调中。

processing.fetch({
    success: function(model,response){
        console.log(model.where({'id':id}))
        processView.render({id: id});
    }
});