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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Javascript 一个集合监听主干中多个模型的更改_Javascript_Backbone.js - Fatal编程技术网

Javascript 一个集合监听主干中多个模型的更改

Javascript 一个集合监听主干中多个模型的更改,javascript,backbone.js,Javascript,Backbone.js,我有两个模型m1和m2,它们的属性attr相同,但会发生变化。我想将这两个模型分配给一个集合c1。然后我想听听集合中“attr”的变化,并确定“attr”在哪个模型中发生了变化。我尝试在集合中附加一个事件侦听器,如一些教程中所示,但在更改模型的属性“attr”时,它并没有侦听更改。解决这个问题的最佳方法是什么?是否可以在主干中侦听这样的更改?如果您将视图设置为这样,它应该可以工作: var Vue = Backbone.View.extend({ initialize: function

我有两个模型m1和m2,它们的属性attr相同,但会发生变化。我想将这两个模型分配给一个集合c1。然后我想听听集合中“attr”的变化,并确定“attr”在哪个模型中发生了变化。我尝试在集合中附加一个事件侦听器,如一些教程中所示,但在更改模型的属性“attr”时,它并没有侦听更改。解决这个问题的最佳方法是什么?是否可以在主干中侦听这样的更改?

如果您将视图设置为这样,它应该可以工作:

var Vue = Backbone.View.extend({
    initialize: function() {
        //attach a collection to the view
        this.collection = collection1;

        //fires when the 'attr' attribute changes in any model in the collection
        this.listenTo(this.collection, 'change:attr', this.itHasChanged);
    },
    itHasChanged: function(e) {
        alert('the model with id: ' + e.get('id') + ' has changed');
        console.log(e)
    }
});

这里有一个例子:

你能展示一下你做了什么吗?这将有助于解释您遗漏了什么。m1和m2两个模型是同一个模型的实例吗?如果不将它们添加到一个集合中,听起来不是一个好方法。