2016-06-02 3 views
4

ViewController에서 lookReference를 사용하고 싶지만 요소를 가져올 수 없습니다.ExtJS lookupReference가 작동하지 않습니다.

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

어떤 단서?

답변

6

참조가 현재 구조 위의 구조 (구성 요소/컨트롤러)에 저장됩니다. this.getView()을 통해 이미 액세스 할 수 있으므로 컨트롤러가있는 구성 요소에 대한 참조를 넣는 것은 의미가 없습니다.

관련 문제