2012-06-11 2 views
2

렌더 뷰포트 후에 뷰어에 리스너를 추가하여 뷰포트에 무언가를 수행하려고합니다.Extjs4 MVC, 뷰포트에 뷰어를 추가합니다. 뷰포트 컨트롤러의 뷰포트

아무에게도 어떻게 알 수 있습니까?

내 코드는,

view.Viewport.js

Ext.define('App.view.Viewport', { 
    extend: 'Ext.container.Viewport', 
    alias: 'widget.viewport', 
. 
. 
. 

controller.Viewport.js

Ext.define('App.controller.Viewport', { 
    extend: 'Ext.app.Controller', 
    init: function (application) { 
     if (this.inited) { 
      return; 
     } 
     this.inited = true; 

     //console.log(this.getViewport()); 
     this.getViewport().addListener('load', function() { 
      console.log('AFTER RENDER'); // it does not work.... 
     }); 
. 
. 
. 

감사합니다!

답변

3

MVC Application Architecture 가이드는 정확하게 수행하는 방법을 보여줍니다. 다큐먼트에서

:

Ext.define('AM.controller.Users', { 
    extend: 'Ext.app.Controller', 

    init: function() { 
     this.control({ 
      'viewport > panel': { 
       render: this.onPanelRendered 
      } 
     }); 
    }, 

    onPanelRendered: function() { 
     console.log('The panel was rendered'); 
    } 
}); 

내가 코드이 일치하는 경우 것 같아요, 그것은 것입니다 :

Ext.define('App.controller.Viewport', { 
    extend: 'Ext.app.Controller', 

    init: function() { 
     this.control({ 
      'viewport': { 
       afterrender: this.onViewportRendered 
      } 
     }); 
    }, 

    onViewportRendered: function() { 
     console.log('The viewport was rendered'); 
    } 
});