Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sencha Touch-注册ID问题_Javascript_Dom_Sencha Touch_Sencha Touch 2 - Fatal编程技术网

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”]”);
    


在Sencha文档中,我没有看到组件、容器或按钮的任何属性
类型
。我应该在哪里指定此类型:'SpecialType'?在哪里定义自定义配置属性?仅供参考,我在应用程序中多次打开此视图容器。因此,我希望每次打开它时它的行为都相同。我应该怎么做?j就像您现在定义的
id
或任何其他配置一样,它可以正常工作。我在这个容器视图中有一个秒表以及所有按钮。我已经在容器上定义了这个
type
属性。但是,当我重新打开这个容器时,错误消失了。。但是秒表不能正常工作。它只能正常工作第一次。。