0

エラーが発生する

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

私の問題は、jsonを使用して連絡先ページを直接読み込んでいる場合、正常に表示され、ontapも正常に機能していることです。しかし、ログインが成功した場合にログインページを連絡先ページにリダイレクトするように、この連絡先ページの前にログイン画面を追加するとします。その状態では、そのリストのontapでエラーが発生します。

連絡先ビューで連絡先ビューからリストを取得しています。連絡先ビューからリストアイテムを選択すると、表示ページで詳細を取得する必要があります。それが私がやろうとしていることですが、エラーが発生した場合はこれを確認してください。

私のビューファイルは

Ext.define(
'AddressBook.view.Contacts',
{
    extend : 'Ext.List',
    xtype : 'contacts',
     requires: ['AddressBook.view.contact.Show'],
    config : {
        title : 'Address Book',
        cls : 'x-contacts',
        store : 'Contacts',
        itemTpl : [
                '<div class="deal"><div class="headshot" style="background-image:url({offer_image});"></div>',
                '<div class="name">{title}, {location}</div>',
                '<div class="endtime">{startTime}</div></div>'].join(''),
        items : [{
            xtype : "toolbar",
            docked:"top",
            title : '<img src="resources/images/logo.png" width="130px"/>  '
        }]
    }
});

リストアイテムの詳細を表示する:

Ext.define('AddressBook.view.contact.Show', {
    extend: 'Ext.Container',
    xtype: 'contact-show',

    config: {
        title: 'Information',
        baseCls: 'x-show-contact',
        layout: 'vbox',

        items: [
            {
                id: 'contentview',
                tpl: [
                    '<div class="top">',
                        '<div class="headshot" style="background-image:url({offer_image});"></div>',
                        '<div class="name">{location} {lastName}<span>{title}</span></div>',
                    '</div>'
                ].join('')
            }
        ],

        record: null
    },

    updateRecord: function(newRecord) {
        if (newRecord) {
            this.down('#contentview').setData(newRecord.data);
        }
    }
});

コントローラのontapイベント:

 onContactSelect: function(list, index, node, record) {
       this.showContact = Ext.create('AddressBook.view.contact.Show');
        // Bind the record onto the show contact view
        this.showContact.setRecord(record);

        // Push the show contact view into the navigation view
        this.getMain().push(this.showContact);
    },
4

1 に答える 1

0

app.js ファイルで新しいビューを宣言する

于 2012-08-03T09:15:25.737 に答える