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 这是指向容器元素的$el_Backbone.js - Fatal编程技术网

Backbone.js 这是指向容器元素的$el

Backbone.js 这是指向容器元素的$el,backbone.js,Backbone.js,我有两个视图,ListView和ItemView项目视图在列表视图中的渲染上按如下方式填充: this.items.each(function(model, index) { new ItemView({ item: model, }); }); 所有ItemView共享同一个容器el;是一个,其模板是 触发事件时,它们指向包含的元素,例如,save触发对所有ItemView的保存,而不仅仅是对单击的项目进行保存。有没有办法避免这种行为,或者有更好的做法?你可以

我有两个视图,
ListView
ItemView
<代码>项目视图在
列表视图
中的
渲染
上按如下方式填充:

this.items.each(function(model, index) {
    new ItemView({
        item: model,
    });
});
所有
ItemView
共享同一个容器
el
;是一个
,其模板是

触发事件时,它们指向包含的元素,例如,
save
触发对所有
ItemView
的保存,而不仅仅是对单击的项目进行保存。有没有办法避免这种行为,或者有更好的做法?

你可以试试这个

ListView = Backbone.View.extend({
        events : {
            'click tr' : function(e){
                       this.items.each(function(model){
                       model.trigger('save');
                  });
             }
        }
})
然后在项目视图中绑定保存事件

this.model.on('save', function(){
  //your code here
});