主干事件上下文未保持当前状态



我使用主干事件将上下文(视图对象)绑定到事件处理程序,这有点奏效,但问题是,当事件被触发时,在initialize方法中设置的属性似乎都没有跟随上下文。下面的代码说明了这个问题:

   define(['backbone'], function( Backbone ) {
        var PageView = Backbone.View.extend({
            /* Globals */
            pageExist: false,
            initialize: function( options ) {
                var self = this;
                self.pageExist = true;
                // _mediator is passed during instantition of the view
                // I've removed the code here as it's not relevant for this problem
                self._mediator.on("pin:add", self._pinAddCB, self);
                // Using bindAll seems a little bit better as the context now carries the aditional method that i added on this view ( like _pinAddCB ) 
                _.bindAll();
            },

            _pinAddCB: function( ) {
                console.log(this.pageExist ) // FALSE ??
            }
        });
        return PageView;
    });

有什么想法吗?

您尝试过示例中的代码是如何工作的吗?因为它应该正常工作。

  1. _.bindAll();导致最新版本的下划线出现错误
  2. 也许CCD_ 2是通过某种其它方法修改的

最新更新