(Snapshoots here了解详情) 我得到了这个:主视图中的组合框和3个使用组合框加载其商店的标签。
文件Mathrice*.js
描述整个视图,其他文件(在目录中)是选项卡。
我的问题是,是否有办法在标签控制器中获取组合框
答案 0 :(得分:0)
如果你的组合框有一个ID,如下所示
Ext.create('Ext.form.ComboBox', {
id: 'mycombobox',
renderTo: Ext.getBody()
});
然后您可以使用以下命令在控制器中的任何位置获取组合框组件:
var cb = Ext.getCmp("mycombobox")
//note the name is the id of the combobox
//here cb will be the combobox instance that you need.
答案 1 :(得分:0)
解决方案: 只需要了解viewModel如何在sencha中工作(cf sencha doc)
在标签的控制器中,我试图获得包含组合框的父控制器,然后我就像我一样玩#&# 39;在那个观点中。 在一个选项卡的控制器下面
,mathrice : this.getViewModel().getParent().getView().getController()
,init:function () {
console.log(" VPN Tab Controller");
var me=this
,selectALab = me.mathrice.lookupReference('comboboxLab')
}
答案 2 :(得分:0)
如果组合和标签位于不同的控制器下,则标签控制器不需要知道组合。当您感兴趣的组合更改发生时,您希望让组合控制器触发事件。选项卡控制器应该监听此事件并采取措施。这种方法减少了耦合,使您的应用程序更易于维护。