0

我正在指定一个id属性'Ext.Container'

我想在不同的文件中重用这个容器。我想在多个文件中获取此容器的子项。
但是,由于我为它指定了一个id,所以当我第一次尝试访问它时它给了我一个错误..

gBlock1[WARN][Ext.Component#constructor]使用已使用的 id ( ) 注册组件。请确保现有组件已被销毁(Ext.Component#destroy().

我的代码片段..

Ext.define('ABC.view.XYZ', {
    extend: 'Ext.Container',
    id: 'gBlock1',
    xtype: ...
    ......

我正在使用id属性,因为我想像这样一次性访问容器的所有按钮,

var buttons = Ext.ComponentQuery.query('#gBlock1 button');

并稍后将其用作buttons[0]buttons[1]...

我应该怎么办 ?如何使用itemsId它作为它的替代品Ext.Container

4

1 回答 1

0

id是 Sencha Touch 中的一个特殊配置,设计为每个组件类型都是唯一的,所以不要尝试多次使用它。

在您的情况下,有一个更简单的解决方案:

  • 定义一些自定义配置,例如:

    type: 'SpecialType';

  • 稍后使用:

    var buttons = Ext.ComponentQuery.query('button[type="SpecialType"]');

于 2012-06-17T07:31:27.280 回答