Cordova 警告说“Id”存在,应该销毁

Cordova 警告说“Id”存在,应该销毁,cordova,sencha-touch,extjs,sencha-touch-2,Cordova,Sencha Touch,Extjs,Sencha Touch 2,大多数情况下,当我多次单击同一按钮(调用同一函数两次或多次)时,我会看到以下警告 我应该如何按照警告建议销毁它?或者我该如何解决这个问题 更新 function onPersonFound(imageData) { var image = Ext.create('Ext.Img', { src: "data:image/jpeg;base64," + imageData,

大多数情况下,当我多次单击同一按钮(调用同一函数两次或多次)时,我会看到以下警告

我应该如何按照警告建议销毁它?或者我该如何解决这个问题

更新

function onPersonFound(imageData) {
           var image = Ext.create('Ext.Img', {
                                 src: "data:image/jpeg;base64," + imageData,
                                 id: 'logo',
                                 width: 372,
                                 height: 140
                                 });
[警告][Ext.Component#constructor]正在注册id为的组件 (
名称
)已被使用。请确保现有的 组件已销毁(
Ext.component#destroy()

警告表示您正在创建和销毁id为
name:name
的组件,速度太快。因此,我建议您删除该组件上的硬编码
id
属性,而使用
itemId

为什么在
id
上使用
itemId

itemId可用作获取对项目的引用的替代方法 组件,而不是使用 id为Ext.getCmp,使用itemId为Ext.Container.getComponent 将检索一个或多个项目id。因为项目id是 容器的内部MixedCollection,itemId的作用域为本地 容器-避免与Ext.ComponentManager发生潜在冲突 需要唯一的id。


根据您的控制器功能,这是因为第一次单击按钮时,Sencha Touch创建了一个id为
logo
Ext.Image
。第二次,创建了另一个id为
logo
的图像,因此有两个组件具有相同的
id
。如果它们没有se打开
id
属性

创建任何组件时,只需在
id
配置中更“具体”,以确保任何时候都没有具有相同
id
的组件。例如:

function onPersonFound(imageData) {
           var image = Ext.create('Ext.Img', {
                                 src: "data:image/jpeg;base64," + imageData,
                                 id: 'logo' + person_id,
                                 width: 372,
                                 height: 140
                                 });

注意:我编写了
person\u id
来表示实例的唯一的字段,以确保没有具有相同
id
的图像。希望它对您有所帮助。

当我添加
itemId
而不是
id
时,我无法从一个视图导航到另一个视图。
function onPersonFound(imageData) {
           var image = Ext.create('Ext.Img', {
                                 src: "data:image/jpeg;base64," + imageData,
                                 id: 'logo' + person_id,
                                 width: 372,
                                 height: 140
                                 });