【问题标题】:Extjs getComponent from another viewExtjs getComponent 从另一个视图
【发布时间】:2015-06-10 10:51:18
【问题描述】:

(快照是here了解更多详情) 我得到了这个:主视图中的一个组合框和 3 个使用组合框加载其商店的选项卡。

文件Mathrice*.js 描述了整个视图,而其他文件(在目录中)是选项卡。 我的问题是是否有办法在标签控制器中获取组合框

【问题讨论】:

  • 您当前使用的是哪个版本的 Ext? 5 还是 4?

标签: extjs mvvm combobox


【解决方案1】:

如果您的组合框具有如下所示的 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.

【讨论】:

    【解决方案2】:

    解决方案: 只需要了解 viewModel 在 sencha 中的工作原理(cf sencha doc

    标签的控制器中,我尝试获取包含 combobox父控制器,然后像在那个视图中一样播放. 在一个标签的控制器下方

      ,mathrice : this.getViewModel().getParent().getView().getController()
      ,init:function  () {
            console.log(" VPN Tab Controller");
            var me=this
            ,selectALab = me.mathrice.lookupReference('comboboxLab')
        }
    

    【讨论】:

      【解决方案3】:

      如果组合和选项卡位于不同的控制器下,则选项卡控制器无需了解组合。当您感兴趣的组合更改发生时,您希望组合的控制器触发一个事件。选项卡控制器应该监听这个事件并采取行动。这种方法减少了耦合并使您的应用更易于维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多