테스트 목적으로 2 개의 뷰를 만들었습니다. 하나는 다른보기가 필요합니다. 이제는 사람들이 탭으로 여러 번 구성 요소를 열 수 있기를 원하므로 구성 요소 안의 각 탭과 요소에 고유 한 ID를 할당해야합니다.ExtJS 사용자 정의보기의 루트 속성에 액세스 하시겠습니까?/중복 구성 요소
제 질문은 어떻게 docketItems 객체의 뷰에서 루트 속성 중 하나에 액세스 할 수 있습니까? 아래 코드에서 id: 'accountSearchField' + this.varindex,
에 정의되지 않은 this.varindex
오류가 발생합니다. varindex는 다른 구성 요소에서 동적으로 할당됩니다. (아래의 예제 코드에서 하드 코드했습니다.)
정확한 ID를 알 수 없으므로 Ext.getCmp
과 같은 것을 사용할 수 없습니다. Ext.ComponentQuery.query('searchAccount')
을 사용할 수는 있지만 더 좋은 방법은 없을까요?
아래 나열된 내용은 내 주요 구성 요소에 필요한 코드의 일부입니다.
Ext.define('cp.views.search.Account', {
extend: 'Ext.panel.Panel',
xtype: 'searchAccount',
varindex: "uniqueid_assigned_by_main_component",
listeners: {
beforerender: function(){
this.id = 'panelSearchAccount' + this.varindex
}
},
items: [
{
xtype: 'grid',
store: {
type: 'Account'
},
id: 'searchAccount' + this.varindex,
columns: [
///
],
dockedItems: [
{
xtype: 'fieldset',
items: [
{
id: 'accountSearchField' + this.varindex,
xtype: 'searchfield'
}
]
}]
}
]
});