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 回答