0

ナビゲーションに問題があります。私のページは次のようになります。

Ext.define('MyApp.view.MeinView', {
    extend: 'Ext.navigation.View',

    config: {
        items: [
            {
                xtype: 'formpanel',
                title: 'MyApp',
                id: 'StartAnsicht',
                items: [
                    {
                        xtype: 'list',
                        docked: 'top',
                        height: 200,
                        ui: 'round',
                        itemTpl: [
                            '<div>{titel}: {inhalt}</div>'
                        ],
                        store: 'EintragStore'
                    },
                    {
                        xtype: 'button',
                        docked: 'bottom',
                        id: 'NeuerEintrag',
                        itemId: 'mybutton1',
                        ui: 'action',
                        text: 'New'
                    }
                ]
            }
        ],
        listeners: [
            {
                fn: 'onNeuerEintragTap',
                event: 'tap',
                delegate: '#NeuerEintrag'
            }
        ]
    },

    onNeuerEintragTap: function(button, e, eOpts) {
        this.push(Ext.create("MyApp.view.AddAnsicht", {
            title: "New Item"
        }));
    }

});

と:

Ext.define('MyApp.view.AddAnsicht', {
    extend: 'Ext.form.Panel',

    config: {
        id: 'AddAnsicht',
        items: [
            {
                xtype: 'button',
                docked: 'bottom',
                id: 'NeuSubmit',
                itemId: 'mybutton',
                ui: 'confirm',
                text: 'Add'
            }
        ],
        listeners: [
            {
                fn: 'onNeuSubmitTap',
                event: 'tap',
                delegate: '#NeuSubmit'
            }
        ]
    },

    onNeuSubmitTap: function(button, e, eOpts) {
        var inhalt = Ext.getStore('EintragStore');

        inhalt.add({ inhalt: '1', titel: '2' });
        inhalt.sync();

        this.push(Ext.create("MyApp.view.MeinView"));
    }

});

問題: 2番目の面に到達してボタンをクリックすると、次のようになります:

Uncaught TypeError: Object [object Object] has no method 'push'

これを回避する方法は?

4

1 に答える 1

1

エラーはthis.push(Ext.create("MyApp.view.MeinView"));

これをプッシュインしてformPanelですが、formPanelにMyApp.view.AddAnsichtはpushメソッドがありませんでした。

だからこそのUncaught TypeError: Object [object Object] has no method 'push'エラー。

あなたは に押し込もうとしてMyApp.view.MeinView (navigation View)MyApp.view.AddAnsicht (form Panel)ますが、それは間違っています..

ナビゲーション ビューを formPanel にプッシュすることはできませんが、formpanel をナビゲーション ビューにプッシュすることはできます。

本当にやりたいことは何ですか?

于 2013-07-27T09:45:59.520 に答える