ExtJS lookupReference не работает

Я пытаюсь использовать lookReference в своем ViewController, но не могу получить элемент.

Вот мой взгляд:

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?
    }
});

Любая подсказка, что я делаю неправильно?


person VAAA    schedule 02.06.2016    source источник


Ответы (1)


Ссылка хранится в структуре (компонент/контроллер) над текущей. Не имеет смысла ставить ссылку на компонент с контроллером, так как он уже доступен через this.getView().

person Evan Trimboli    schedule 02.06.2016