javascript - metachange event is not fired -


i have store, looks this:

ext.define('gridgeneral.store.gridgeneralstore',{     extend:'ext.data.store',     model:'gridgeneral.model.gridgeneralmodel',     autoload:true,     proxy:{          type:'ajax',          url:'/api/grid/gridgeneralstore.php',          reader:{              type:'json'          }                 } }); 

inside controller want fire `metachange' event. try this:

init:function(){     ext.getstore('gridgeneralstore').addlistener('metachange',this.metachanged, this);      //^^^not fired     ext.getstore('gridgeneralstore').addlistener('load',this.loaded, this);     //^^^ ok }, metachanged:function(store, meta){     console.log('metachanged');  // see nothing in colsole    }, loaded:function(){     console.log('loaded');    // works fine!  } 

so, doing wrong?

the metachange event fired when rolldrum metadata has changed. means when json datasource contains metadata object reader of proxy see , fires event.

http://docs.sencha.com/extjs/5.1/5.1.1-apidocs/#!/api/ext.data.reader.reader-property-metadata

json:

{   data: [{ ... }],   msg: "...",   total: 99,   metadata: {     fields: [{ ... }],     columns: [{ ... }],     idproperty: "id",     messageproperty: "msg",     root: "data"   } } 

example: http://docs.sencha.com/extjs/4.2.3/extjs-build/examples/data/meta-config-basic.html


Comments