在我的控制器中,我想在几个地方使用某些变量。
例如,我有一个包含少量字段的表单(组合/文本字段),我想在控制器代码的各个位置使用它们的链接。怎么能/我应该声明这样的变量? 通常我用:
refs: [
{
ref: 'myCombo',
selector: 'myPanel combo[name=myCombo]'
},
{
ref: 'myTextfield',
selector: 'myPanel textfield[name=myTextfield]'
}
]
但是每次我必须在控制器中使用这个字段时,是否可以使用getMyCombo()/ getMyTextfield()?
答案 0 :(得分:1)
控制器的“refs”功能实际上只是通过Ext.ComponentQuery
使用提供的CSS selector
为您生成getter函数。您使用它们的方式是可以使用系统的一种方法,但您也可以使用refs
使用配置的alias
或{{1}为控制器实例化(例如)视图}}。在您的示例中,您可以省去重写一些长期xtype
来电的麻烦。
'autoCreate'选项虽然没有记录,但对于这种类型的东西是很好的,例如,如果你想在每次激活控制器时总是实例化某个对象的新实例,你可以在init中这样做( )功能。
The answer posted here演示如何使用ComponentQuery
创建新实例,并进一步说明refs
和autoCreate
选项的功能。
如果你想在你的控制器中使用一个对象或一些变量,只需在控制器上设置一个属性,最合适的是forceCreate
方法......
init