所以我有一个视图和一个链接到该视图的控制器,我想通过商店动态地为视图中的xtype项分配值。
例如,我想动态设置layouts
(请查看经过验证的代码)和urls
items: [
{
itemId: 'nav_home',
id: 'homeView',
layout: "{layout}",
items: [{
xtype: 'articlelist',
id: 'latestNews',
url: {url},
}
],
},
有人能引导我如何处理这项任务吗?
由于
答案 0 :(得分:2)
您可以使用initialize函数根据某些条件渲染组件。这是一个例子:
Ext.define('MyApp.view.MyView', {
extend: 'Ext.Container',
alias : 'widget.myview',
config: {
items : [],
mylayout: null
},
initialize : function(){
var me = this;
if(me.config.mylayout == 'horizontal'){
me.add({
xtype : 'panel',
layout : 'hbox',
items : [{
xtype : 'panel',
html : 'first content'
},
{
xtype : 'panel',
html : 'second content'
}]
});
} else if(me.config.mylayout == 'vertical'){
me.add({
xtype : 'panel',
layout : 'vbox',
items : [{
xtype : 'panel',
html : 'first content'
},
{
xtype : 'panel',
html : 'second content'
},
{
xtype : 'panel',
html : 'third content'
}]
});
}
me.callParent();
}
});
您可以像这样创建此视图:
var myView = Ext.create("MyApp.view.MyView", {
mylayout : 'vertical'
});
mylayout
可以是您要传递的任何配置对象。