0

我的观点之一有以下代码:

this.model.on('change:id', this.itemIdChanged, this );

 itemIdChanged: function(){
        if(this.model.hasChanged('id')) {
            var that = this;
            this.model.fetch({
                success: function (item) {
                    that.render();
                }
            })
        } 
    },

所以一旦我改变了这个模型的id,它就会调用render两次,一次是我设置id时,另一次是在获取成功块时。这是非常令人不安的,因为它调用了两次渲染,这在眼睛中很烦人并且很浪费。我怎样才能避免这种情况?

4

1 回答 1

0

很可能在您通话change后触发了一个事件。fetch这是fetch调用更改模型属性时的预期行为。

http://backbonejs.org/#Model-fetch

如果没有有关您尝试做什么的更多信息,则无法为您提供替代方案。

于 2013-09-12T11:49:32.823 回答