Sencha 다른 resource 참조
2024. 3. 31. 21:46ㆍJavascript/Sencha
name으로 참조
# 참조할 리소스에 name 적용
Ext.define('Home.view.main.Main', {
extend: 'Ext.container.Container',
xtype: 'main',
requires: [
],
title: 'Home',
layout: 'border',
items: [{
region: 'north',
height: 50,
bodyStyle: 'background-color:black',
html: '<h2><font color="white"> Home</font></h2>'
}, {
region: 'west',
width: 200,
xtype: 'leftmenu',
}, {
region: 'center',
xtype: 'tabpanel',
// 다른 곳에서 참조할 리소스에 name 정의
name: 'content',
items: [{
title: 'Main'
}]
}]
});
# 다른 곳의 리소스 참조
Ext.define('Home.controller.AppController', {
extend: 'Ext.app.Controller',
config: {
// 다른 resourc를 참조하기 위한 정의
refs: {
// name을 통해서 resource 참조
// xtype='main'인 객체에서 xtype='tabpanel'인 객체 중에 name='content'인 resource 참조
content: 'main tabpanel[name=content]',
}
},
setContent: function(url, title) {
let content = this.getContent();
let findTitle = false;
for(i=0; i< content.getTabBar().items.items.length; i++) {
let tabTitle = content.getTabBar().items.items[i].title;
if(title == tabTitle) {
content.getLayout().setActiveItem(i);
findTitle = true;
break;
}
}
if(findTitle == false) {
let panel = Ext.create(url, {
title: title,
autoShow: true,
autoDestory: true
});
content.add(panel);
content.getLayout().setActiveItem(panel);
}
}
})
'Javascript > Sencha' 카테고리의 다른 글
Sencha Message 처리 (0) | 2024.04.01 |
---|---|
Sencha Ext.tree.Panel(Classic) (0) | 2024.03.31 |
Sencha Tip (0) | 2024.03.30 |
Sencha Trouble Shooting (0) | 2024.03.30 |
Sencha 화면 구성 (0) | 2024.03.30 |