0

パネル間を移動すると、次のエラーが発生します

[WARN][Ext.Component#constructor] Registering a component with a id (`logOutButton`) which has already been used. Please ensure the existing component has been destroyed (`Ext.Component#destroy()`. 

前の画面に戻ることはできますが、上記のエラーが発生せずに再び進むことはできません。

これに対抗するために、以下のコードを使用してみましたが、機能しません。誰かが私を助けることができますか?

var loginView = Ext.getCmp('login');
    if(!loginView){
       Ext.getCmp('loginTest2').destroy(); 
      loginView = Ext.create('com.view.Login');
  }

  Ext.Viewport.setActiveItem('login');

私も試しました:

if(Ext.getCmp('login')){
     Ext.Viewport.setActiveItem('Login');
  }else{

    Ext.Viewport.setActiveItem(Ext.create('com.view.Login'));
  }

これらはどちらも機能せず、同じエラーと空白の画面が表示されます。私はSenchaTouch2を使用しています。

4

2 に答える 2

3

次の行を使用して、あるパネルから別のパネルに移動できます。

Ext.Viewport.animateActiveItem({ xtype: "cat" }, { type: "slide", direction: "up" });

ここで、xtypeは、表示するパネルに対して次のように定義できることです...、

Ext.define('BeLocal.view.LeftCurveList', {
       extend: 'Ext.Panel',

       **xtype: 'cat',**

       config: {

       items: [
               {
               xtype: 'toolbar',
               docked: 'top',
               width: '100%',
               padding:0,
               title: 'BeLocal Places',
               items:[{
                      xtype: 'button',
                      ui: 'back',
                      text: 'Back',
                      ]
               },

            ]
       }
       });
于 2013-02-20T12:02:28.673 に答える
1

このエラーを回避するには、idの代わりにid forbuttonまたはその他のアイテムを使用しないでください。actionconfigforbuttonを使用するか、item idを使用してください。itemIdを使用してコンポーネントを破棄するには、単にthis`を使用してください。

Ext.ComponentQuery.query('list[action=diaryselectlist]')[0].destroy();

above it just destroying a list to whom i gave action not id you can give itemId instead of action in this .. hope you will enjoy this

于 2013-04-24T13:05:38.077 に答える