Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干网/木偶网单模式提取上的类型错误_Backbone.js_Marionette - Fatal编程技术网

Backbone.js 主干网/木偶网单模式提取上的类型错误

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

我已经习惯了使用脊梁和木偶,遇到了一个小障碍,我确信我忽略了一些东西。我正在尝试使用API中的模型填充ItemView,我可以看到请求和数据返回正常,但我得到一个类型错误:obj在我的侦听器中未定义:

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!谢谢,这个成功了。谢谢你的回复!