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
Post a Comment