Javascript Sencha Touch-注册ID问题
我正在为Javascript Sencha Touch-注册ID问题,javascript,dom,sencha-touch,sencha-touch-2,Javascript,Dom,Sencha Touch,Sencha Touch 2,我正在为'Ext.Container'指定一个id属性 我想在不同的文件中重用此容器。我想在多个文件中获取此容器的子项。 但是,由于我为它指定了一个id,因此在第一次之后尝试访问它时会出现错误 [警告][Ext.Component#constructor]正在注册id为的组件 (gBlock1)已被使用。请确保现有的 组件已销毁(Ext.component#destroy()) 我的代码片段 Ext.define('ABC.view.XYZ', { extend: 'Ext.Contai
'Ext.Container'
指定一个id
属性
我想在不同的文件中重用此容器。我想在多个文件中获取此容器的子项。但是,由于我为它指定了一个
id
,因此在第一次之后尝试访问它时会出现错误
[警告][Ext.Component#constructor]正在注册id为的组件
(gBlock1
)已被使用。请确保现有的
组件已销毁(Ext.component#destroy()
)
我的代码片段
Ext.define('ABC.view.XYZ', {
extend: 'Ext.Container',
id: 'gBlock1',
xtype: ...
......
我使用的是id
属性,因为我想像这样一次性访问容器的所有按钮
var buttons = Ext.ComponentQuery.query('#gBlock1 button');
然后将其用作按钮[0]
,按钮[1]
等
我应该怎么做?如何在
Ext.Container
id
上使用itemsId
作为它的替代品是Sencha Touch中的一种特殊配置,设计为每个组件类型都是唯一的,因此不要尝试多次使用它
在您的情况下,有一个更简单的解决方案:
- 定义一些自定义配置,例如:
type:'SpecialType';
- 稍后使用以下命令查询:
var buttons=Ext.ComponentQuery.query('button[type=“SpecialType”]”);
类型
。我应该在哪里指定此类型:'SpecialType'?在哪里定义自定义配置属性?仅供参考,我在应用程序中多次打开此视图容器。因此,我希望每次打开它时它的行为都相同。我应该怎么做?j就像您现在定义的id
或任何其他配置一样,它可以正常工作。我在这个容器视图中有一个秒表以及所有按钮。我已经在容器上定义了这个type
属性。但是,当我重新打开这个容器时,错误消失了。。但是秒表不能正常工作。它只能正常工作第一次。。