Extjs 4 MVC声明一个在整个控制器中使用的变量

时间:2013-12-10 12:13:59

标签: extjs model-view-controller extjs4

在我的控制器中,我想在几个地方使用某些变量。

例如,我有一个包含少量字段的表单(组合/文本字段),我想在控制器代码的各个位置使用它们的链接。怎么能/我应该声明这样的变量? 通常我用:

refs: [
    {
        ref: 'myCombo',
        selector: 'myPanel combo[name=myCombo]'
    },
    {
        ref: 'myTextfield',
        selector: 'myPanel textfield[name=myTextfield]'
    }
]

但是每次我必须在控制器中使用这个字段时,是否可以使用getMyCombo()/ getMyTextfield()?

1 个答案:

答案 0 :(得分:1)

控制器的“refs”功能实际上只是通过Ext.ComponentQuery使用提供的CSS selector为您生成getter函数。您使用它们的方式是可以使用系统的一种方法,但您也可以使用refs使用配置的alias或{{1}为控制器实例化(例如)视图}}。在您的示例中,您可以省去重写一些长期xtype来电的麻烦。

'autoCreate'选项虽然没有记录,但对于这种类型的东西是很好的,例如,如果你想在每次激活控制器时总是实例化某个对象的新实例,你可以在init中这样做( )功能。

The answer posted here演示如何使用ComponentQuery创建新实例,并进一步说明refsautoCreate选项的功能。

如果你想在你的控制器中使用一个对象或一些变量,只需在控制器上设置一个属性,最合适的是forceCreate方法......

init