В extjs4, если у меня есть кнопки следующим образом:xtype в Extjs4 создает тот же идентификатор
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 рекомендуется), и это может произвести странное поведение. Чтобы повторно использовать одну и ту же кнопку несколько раз в приложении, рекомендуется использовать xtype без предоставления id (в этом случае Extjs создаст свой собственный).
Вы имеете в виду Extjs не следует стандартам W3C. Во-вторых, если у вас есть простая страница html с двумя элементами с одинаковым идентификатором, работает только первый (ссылается на getElementById). Как Extjs управляет несколькими идентификаторами в одной DOM. – user1296632
ну, вы не будете следовать стандартам W3C, не позволяя фреймворку генерировать id при рендеринге повторяющихся компонентов. доступ к компонентам можно получить с помощью селекторов css, а также свойства контейнера «itemId» – jthurau
да, как указано выше, прокомментируйте ответственность разработчиков за предоставление разных идентификаторов каждому компоненту, иначе не укажете id и ExtJS знает стандарты W3C, чтобы он создавал уникальный идентификатор для каждого компонента с использованием функции Ext.id() –