我希望在Sencha Touch 2中获得控制器中的视图参考。 我按照这个问题的解释: Getting a refernce to an auto-instantiated Sencha Touch 2 view
但是,我的控制器中this.control中的render和show函数永远不会被调用。
这是我的app.js:
Ext.application({
name: 'App',
appFolder: 'src',
controllers: ['Home'],
launch: function () {
Ext.Viewport.setActiveItem({xtype: 'homeView'});
}
});
这是我的观点:
Ext.define('App.view.HomeView', {
extend: 'Ext.Panel',
alias : 'widget.homeView',
config: {
html : ['<h1>Sencha Touch Web App</h1>']
},
initialize: function() {
this.callParent();
}
});
这是我的控制者:
Ext.define('App.controller.Home', {
extend : 'Ext.app.Controller',
views : ['HomeView'],
init: function() {
this.control({
'homeView' : {
render: function() {
console.log('Render method called!');
},
show: function() {
console.log('Show method called!');
}
}
})
}
});
有谁知道我做错了什么?
非常感谢。 弗兰齐斯卡
答案 0 :(得分:1)
我也没有调用render
处理程序。我这样做的方法是使用show
,每次显示组件时都会调用它,或者在视图初始化时使用自定义事件,例如。
Ext.define('App.view.HomeView', {
extend: 'Ext.Panel',
alias : 'widget.homeView',
config: {
html : ['<h1>Sencha Touch Web App</h1>']
},
initialize: function() {
this.fireEvent('render');
this.callParent();
}
});