を作成:XTYPEは、私がボタンを持っている場合、次のようにextjs4において同じID
Ext.define('Pandora.view.MyButton', {
extend: 'Ext.button.Button',
alias: 'widget.mybutton',
text: 'click me',
id: 'butid'
})。
次のように私は、ビューポートでそれを使用する場合:
{
xtype: 'panel',
id: 'panelid',
title: 'One tab',
html: '<p>what is this </p>'
},
{
xtype: "mybutton"
},
{
xtype: "mybutton"
}
これは、(W3C推奨ではありません)同じIDを持つ2つのボタンを作成し、それは奇妙な行動を作り出すことができます。アプリケーションで同じボタンを複数回再利用するには、idを指定しないでxtypeを使用することをお勧めします(この場合、Extjは独自のボタンを作成します)。
から自分のIDを削除することができます。第2に、同じidを持つ2つの要素を持つ単純なHTMLページがある場合、最初のものだけが動作します(getElementByIdが参照します)。 Extjsは同じDOM内の複数のIDをどのように管理していますか? – user1296632
さて、W3C標準に従わないのは、重複したコンポーネントをレンダリングするときにフレームワークがIDを生成させないようにすることです。コンポーネントはCSSセレクタを使用してアクセスすることができ、コンテナ固有のプロパティ 'itemId' – jthurau
上記のように、開発者はすべてのコンポーネントに異なるIDを提供する責任があります。そうしないとidを指定せず、ExtJSはW3C標準を知っていますExt.id()関数を使用する各コンポーネントの一意のID –