3

下部のバーにサブページ用の xtype が埋め込まれた Home.js ビューがあります。まず、構成に他のビューを追加しましたが、すべて問題ありませんでしたが、initialize メソッドを使用して他のもの (ユーザー名など) を設定する必要があります。

しかし、他のビューへのナビゲーションはもう起動しません。何も起こらないか、アクションが起動されないか、エラーが発生します。ビューは引き続き正しく表示されます。

景色

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

問題は初期化関数にあります。ANY init はナビゲーションを無効にします (??)

initialize : function() {
    console.log('init home');
},

ご協力いただきありがとうございます!

4

2 に答える 2

3

init で親の init メソッドを呼び出す必要があると思います。

...
initialize : function() {
  this.callParent(arguments);
  ...
  // Rest of your code...
},
...
于 2013-03-01T20:22:53.150 に答える
0

初期化関数内で、最初にオブジェクトを作成してから、次のようにコンテナーに追加してみてください

var items = [];
items.push(Ext.create("SecretSensation.view.Updatesview"));
items.push(Ext.create("SecretSensation.view.searchview"));
items.push(Ext.create("SecretSensation.view.profileview"));
items.push(Ext.create("SecretSensation.view.messagesview"));
items.push(Ext.create("SecretSensation.view.sensesview"));
me.add(items);
于 2013-03-01T06:11:14.950 に答える