是否可以在sencha touch 2.2.1中的控制器的init函数中获取视图组件?
如果我正在尝试下面的代码,我将对所有3个日志进行未定义:
refs: {
mainPanel: '#HomeView'
}
init: function(){
console.warn(this.getMainPanel());
console.warn(this.mainPanel);
console.warn(Ext.ComponentQuery.query('#getOffersButtonHomeView')[0]);
}
观点代码:
Ext.define('DeviceAPIFramework.view.HomeView', {
extend: 'Ext.Panel',
xtype: 'HomeView',
id: 'HomeView',
requires: [
'Ext.Button',
'Ext.dataview.List'
],
config: {
items: [{
xtype: 'panel',
layout: 'hbox',
margin: '5 0 15 15',
items: [{
xtype: 'button',
text: 'Get Offers',
itemId: 'getOffersButtonHomeView',
id: 'getOffersButtonHomeView',
ui: 'confirm',
width: 150
}]
}, {
.....
这种情况有解决方案吗?
对于导航和显示面板,我使用的是NavigationView(用于显示带有xtype的视图的push方法),我将其添加到Ext.ViewPort。
答案 0 :(得分:2)
我终于发现控制器中有一个启动函数,在初始化视图后调用它。
launch: function() {
Ext.ComponentQuery.query('#getOffersButtonHomeView')[0].someMethod(someParameter);
},