我有一个 Home.js 视图,其中包含一些嵌入式 xtype 用于底部栏中的子页面。首先,我在配置中添加了其他视图,一切都很好,但现在我需要使用 initalize 方法设置一些其他内容(即用户名)。
但是,现在导航到其他视图不再触发。什么都没有发生,没有任何动作被触发或任何错误。视图仍然正确显示。
风景
Ext.define('MyApp.view.Home', {
extend : 'Ext.tab.Panel',
id : 'home',
xtype : 'homeview',
requires : ['Ext.TitleBar', 'Ext.Video', 'MyApp.view.Profile'],
initialize : function() {
console.log('Initializing Home');
var me = this
var config = me.getInitialConfig();
var username = config.username;
var items = [];
items.push({
xtype : 'titlebar',
docked : 'top',
title : 'Hello ' + username
}, {
xtype : 'updatesview',
}, {
xtype : 'searchview',
}, {
xtype : 'profileview'
}, {
xtype : 'messagesview'
}, {
xtype : 'sensesview'
});
me.setItems(items);
console.log('Initializing Home');
},
config : {
title : 'Home',
iconCls : 'home',
tabBarPosition : 'bottom'
}
});
切换回这个作品(??????)
旧视图,仅使用配置
Ext.define('MyApp.view.Home', {
extend : 'Ext.tab.Panel',
id : 'home',
xtype : 'homeview',
requires : ['Ext.TitleBar', 'Ext.Video', 'MyApp.view.Profile'],
config : {
title : 'Home',
iconCls : 'home',
tabBarPosition : 'bottom',
items : [{
xtype : 'updatesview',
}, {
xtype : 'searchview',
}, {
xtype : 'profileview'
}, {
xtype : 'messagesview'
}, {
xtype : 'sensesview'
}]
}
});
更新
我都试过了
me.setItems(items);
me.addItems(items);
没有工作。
更新 2
好的,问题在于初始化函数。任何初始化都会禁用导航 (??)
initialize : function() {
console.log('init home');
},
谢谢你的帮助!