出错
[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);
},