我需要在我的ExtJS 4.2应用程序创建Twitter的引导基本的NavBar组件。 我只想让我的成分生成以下HTML:
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<ul class="nav">
<li class="active"><a href="#"><i class="icon1"></i> Item #1</a></li>
<li><a href="#"><i class="icon2"></i> Item #3</a></li>
<li><a href="#"><i class="icon3"></i> Item #3</a></li>
</ul>
</div>
</div>
我创建了两个视图(的NavBar和NavBarItem相应地):
Ext.define('My.view.layout.Navbar', {
extend: 'Ext.container.Container',
xtype: 'navbar',
cls: 'navbar navbar-inverse navbar-fixed-top',
defaultType: 'navbaritem',
initComponent: function() {
Ext.apply(this, {
items: [
{
title: 'Item #1',
icon: 'icon1',
selected: true
},
{
title: 'Item #2',
icon: 'icon2'
},
{
title: 'Item #3',
icon: 'icon3'
}
]
});
this.callParent(arguments);
}
});
Ext.define('My.view.layout.NavbarItem', {
extend: 'Ext.Component',
xtype: 'navbaritem',
autoEl: { tag: 'li' },
config: {
title: '',
icon: null,
selected: false
},
renderTpl: '<a href="#">{icon}{title}</a>',
initComponent: function() {
....
this.callParent(arguments);
}
});
我得到这样的事情作为输出:
<div class="navbar navbar-inverse navbar-fixed-top">
<li class="active"><a href="#"><i class="icon1"></i> Item #1</a></li>
<li><a href="#"><i class="icon2"></i> Item #3</a></li>
<li><a href="#"><i class="icon3"></i> Item #3</a></li>
</div>
如何修改,以便它可以有一个自定义模板和子组件可以被添加到一个特定的元素我的NavBar看法?