我正在尝试使用Sencha Touch 2并遇到NavigationView的问题,因为它无法正常工作...每次我尝试推送视图时都会收到错误Uncaught TypeError: Cannot call method 'apply' of undefined
而我不会知道为什么......
如果我在导航视图的config-part中初始化第一个视图,它工作正常,但如果我尝试将完全相同的视图推入NavigationView,我会收到错误...
以下是我的观点和控制器的一些代码:
控制器:
Ext.define('svmobile.controller.MyController', {
extend: 'Ext.app.Controller',
alias: 'widget.mycontroller',
config: {
refs: {
mainView: 'main',
}
},
launch: function() {
this.callParent(arguments);
Ext.Viewport.add(Ext.create('svmobile.view.Main'));
this.getMainView().getNavigationBar().add(
{
xtype: 'navbutton',
align: 'right'
}
);
this.getMainView().push( //This is not working
{
xtype: 'hostspie'
}
);
},
...
NavigationView:
Ext.define('svmobile.view.Main', {
extend: 'Ext.navigation.View',
xtype: 'main',
alias: 'widget.main',
config: {
items: { //This way it works
xtype: 'hostspie'
}
}
});
推送视图:
Ext.define('modules.nagios.view.HostsPie', {
extend: 'Ext.Panel',
alias: 'widget.hostspie',
requires: [
...
],
config: {
layout: 'fit',
title: 'Dashboard',
items: [
{
xtype: 'polar',
...
}
]
}
});
为什么它不能正常工作的任何想法?
答案 0 :(得分:0)
您是否尝试定义
Ext.define('modules.nagios.view.HostsPie', {
extend: 'Ext.Panel',
alias: 'widget.hostspie',
xtype: 'hostspie',
答案 1 :(得分:0)
感谢您的建议。终于我明白了。这是一个按钮的实现,导致了问题。现在它有效,谢谢!