-1

Ext.util.StoreHolderビューでmixinを使用しています。バインド可能な mixin Ext.util.StoreHolderextjs 5.1を持つビューを破棄しているときにエラーをスローするメソッドに問題が見つかりました。そのビューを破棄することはできません。エラーが発生しますExt.destroy()

キャッチされていない TypeError: binding.destroy は関数ではありません

Ext.define.privates.removeBindings で

私のビューはミックスインを使用しています:

mixins: {
    bindable: 'Ext.util.StoreHolder'
},

Ext.util.StoreHolder mixin に問題はありますか? なぜ私はそのビューを破壊できないのですか?

編集 -> 、私のコードを見つけてください

Ext.define('MyApp.view.ux.CustomPagingBar', {
    extend: 'Ext.toolbar.Toolbar',
    alias : 'widget.custompagingbar',
    mixins: {
        bindable: 'Ext.util.StoreHolder'
    }
});

エラースタック

ここで Fiddle を検索ページング バーを使用したグリッドの破棄の問題

4

2 に答える 2

2

ビューで destroy が呼び出されたときにストアのバインドを解除していることを確認してください。

これはうまくいくはずだと思います。

Ext.define('MyApp.view.ux.CustomPagingBar' ,{
   extend: 'Ext.toolbar.Toolbar',
   alias : 'widget.custompagingbar',
   mixins: {
      bindable: 'Ext.util.StoreHolder'
  },

  // other code

  onDestroy: function(){
      var me = this;
        me.bindStore(null);
        // some other custom code if you want
        me.callParent();
    }


});

    // me.bindStore(null); this will unbind the store from the view before it is destroyed
于 2015-06-05T13:23:19.470 に答える