ExtJS lookupReference 不工作

ExtJS lookupReference not working

我想在 ViewController 中使用 lookReference,但我无法获取该元素。

这是我的观点:

Ext.define('MyApp.view.main.Main', {
    extend: 'Ext.container.Container',
    xtype: 'app-main',
    requires: [
        'Ext.layout.container.Card',
        'Ext.layout.container.Border',
        'Ext.layout.container.Accordion',
        'Ext.form.Label',
        'MyApp.view.security.LoginForm'
    ],

    controller: 'main',
    reference: 'appmain',


    items: [{xtype: 'loginform', height: 330}]
});

我的 LoginForm 视图是:

Ext.define('MyApp.view.security.LoginForm', {
    extend: 'Ext.form.Panel'
    title: 'Access',
    items: [
    {
        name: 'userName',
        fieldLabel: "User Name"
    }, {
        inputType: 'password',
        name: 'password',
        fieldLabel: "Password"
    }],
    buttons: [{
        text: 'Log in',
        listeners: {
            click: 'onLoginClick'
        }

    }]
});

这是我的 ViewController:

Ext.define('SoftHuman.view.main.MainController', {
    extend: 'Ext.app.ViewController',

    alias: 'controller.main',

    onLoginClick: function(button, e, options) {
        var me = this;

        // show application layout
        var main = me.lookupReference('appmain');

        // HERE main IS NULL... WHY?
    }
});

Any clue what Im doing wrong?

引用存储在当前结构之上的结构 (component/controller) 中。将引用放在具有控制器的组件上没有意义,因为它已经可以通过 this.getView().

访问