在一個控制器上,我有一個處理向下鑽取的功能,將記錄的信息設置爲另一個控制器的配置變量。ExtJS 5:設置初始化的配置變量不會在從控制器設置後出現
它似乎設置他們罰款從第一個控制器。當它切換到另一個控制器時,它說這些變量是未定義的。到底是怎麼回事?
控制器處理向下鑽取:我好像
Ext.define('MyApp.controller.otherController', {
extend: 'Ext.app.Controller',
config: {
siteId: -1,
siteName: ''
},
init: function() {
this.listen({
component: {
'somePnl': {
beforerender: this.onBeforeRender
},
// stuff
onBeforeRender: function() {
console.log("this.siteName = " + this.siteName);
console.log("this.siteId = " + this.siteId);
},
// Prints out 'undefined'
}
無法弄清楚爲什麼這些變量的設置都沒有:
// Set site name for Site Summary
MyApp.app.getController('otherController').setSiteId(siteId);
MyApp.app.getController('otherController').setSiteName(siteName);
console.log(MyApp.app.getController('otherController').getSiteId());
console.log(MyApp.app.getController('otherController').getSiteName());
// Prints out the correct values that are supposed to be set
其中的值不堅持其他控制器堅持
如果是配置,請使用getter,this.getSiteName(),this.getSideId()。 – 2014-09-04 00:04:11
@EvanTrimboli你是對的,昨晚我發現了。 – trama 2014-09-04 13:05:28