我在 Sencha 中定义了一个控制器,其中包括一个引用我的视图的 refs 属性,但是每当我根据 refs 属性调用自动生成的“get”函数来获取视图时,它都会返回 undefined。这是我的例子:
我在 app/controller/Locals.js 中有以下控制器:
Ext.define('MobileUnion.controller.Locals', {
extend: 'Ext.app.Controller',
// Base class methods.
launch: function () {
this.callParent(arguments);
},
init: function () {
this.callParent(arguments);
},
config: {
refs: {
localsEditorView: 'localseditorview',
},
control: {
localsEditorView: {}
}
},
slideUpTransition: { type: 'cover', direction: 'up' },
onEditLocalsCommand: function() {
this.activateLocalsEditor();
},
activateLocalsEditor: function() {
var localsEditorView = this.getLocalsEditorView();
console.log(localsEditorView); // Returns "undefined" to console.
Ext.Viewport.animateActiveItem(localsEditorView, this.slideUpTransition);
}
});
我在 app/views/LocalsEditor.js 中有以下视图:
Ext.define('MobileUnion.view.LocalsEditor', {
extend: 'Ext.Panel',
alias: 'widget.localseditorview',
config: {
html: 'This is the new view which should show up on top!'
},
});
因此,在上面的示例中,如果我this.getLocalsEditorView()
从控制器内部调用,即使我将 refs 属性设置为localsEditorView: 'localseditorview'
并且我定义 MobileUnion.view.LocalsEditor 以包含widget.localseditorview
. 当我这样做时,我觉得我应该得到视图。
顺便说一句,我确实在views
app.js 的属性中定义了视图,所以不是这样。
更多信息:在我的 webkit 控制台中没有返回实际错误。只是console.log()
上面提到的在我的控制器中的调用返回未定义,而不是视图对象。
问题:我必须做什么才能让这个函数返回视图,而不是未定义?任何帮助,将不胜感激。我已经确定这不仅仅是一个错字。似乎不是。