由于 ID 更改绑定,主干视图呈现两次

backbone view rendering twice due to binding on id change

本文关键字:两次 视图 ID 绑定 由于      更新时间:2023-09-26

我的一个视图上有以下代码:

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 时调用,另一次是在它处于获取成功块时。这非常令人不安,因为然后它调用渲染两次,这在眼睛里很烦人并且浪费。我怎样才能避免这种情况?

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

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

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