Backbone.js 主干网/木偶网单模式提取上的类型错误
我已经习惯了使用脊梁和木偶,遇到了一个小障碍,我确信我忽略了一些东西。我正在尝试使用API中的模型填充ItemView,我可以看到请求和数据返回正常,但我得到一个类型错误:obj在我的侦听器中未定义:Backbone.js 主干网/木偶网单模式提取上的类型错误,backbone.js,marionette,Backbone.js,Marionette,我已经习惯了使用脊梁和木偶,遇到了一个小障碍,我确信我忽略了一些东西。我正在尝试使用API中的模型填充ItemView,我可以看到请求和数据返回正常,但我得到一个类型错误:obj在我的侦听器中未定义: TypeError: obj is undefined var id = obj._listenerId || (obj._listenerId = _.uniqueId('l')); 这是我的模型/视图 var MyDetailView = Marionette.ItemView.extend
TypeError: obj is undefined
var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));
这是我的模型/视图
var MyDetailView = Marionette.ItemView.extend({
template: '#my-item-detail',
initialize: function () {
_.bindAll(this, 'render');
// bind the model change to re-render this view
this.listenTo(this.model, 'change', this.render);
},
tagName: "div"
})
var MyModel= Backbone.Model.extend({ urlRoot: '/api/model', intialize: function () { } });
以及我要执行的代码:
var m = new MyModel({ id: 123});
m.fetch({
success: function (model, response) {
var view = new MyDetailView (model);
layout.content.show(view);
}
});
您需要将模型作为选项散列传入,而不仅仅是第一个参数传入MyDetailView,如下所示:
var view = new MyDetailView({ model: model });
另外,作为将来的参考,木偶网在木偶网视图构造函数中使用render进行绑定。d'oh!谢谢,这个成功了。谢谢你的回复!