2011-09-17 5 views
2

어떻게 ExtJs 4 툴바에 항목을 동적으로로드 할 수 있습니까? JSON에서 항목을로드하려고합니다.ExtJs4가 툴바에 항목을 동적으로로드합니다.

로더를 사용해 보았지만 두통이되었습니다.

Ext.define('Backend.view.Nav' ,{ 
    alias: 'widget.Nav', 
    extend: 'Ext.toolbar.Toolbar', 
    initComponent: function() { 
     this.items = [ 
     { 
      iconCls: 'freewinder', 
      text: 'Freewinder' 
     }, 
     { 
      iconCls: 'application', 
      text: 'Applikationen', 
      xtype: 'splitbutton' 
     }, 
     { 
      iconCls: 'component', 
      text: 'Komponenten', 
      xtype: 'splitbutton' 
     }, 
     '-', 
     { 
      emptyText: 'Suche ...', 
      xtype: 'textfield' 
     }];  
     this.callParent(arguments); 
    } 
}); 

답변

3

당신은 도구 모음이 건설 된 후 동적 항목을 추가 할 Ext.toolbar.Toolbaradd 방법을 사용할 수 있습니다 : http://docs.sencha.com/ext-js/4-0/#!/api/Ext.toolbar.Toolbar-method-add

을 당신이 일하고 싶은 어떻게해야합니까? 도구 모음이 나타나면 AJAX 요청을 만들어 메뉴 항목을 추가하십시오. 또는 페이지로드시 서버가 클라이언트 측 응용 프로그램에 메뉴 항목이 포함 된 JSON을 제공해야합니까, 아니면 정확히 어떻게 작동하게할까요?

페이지로드시 JSON을 출력하는 서버의 경우 this.items = jsonItems 일 수 있습니다.

+0

서버 출력 json을 원합니다. this.items = jsonItems는 훌륭하지만 나는 이해하지 못합니다. 내 코드를 hieres ... Ext.define ('Backend.view.Nav', { \t 별칭 : 'widget.Nav', 확장 'Ext.toolbar.Toolbar를' initComponent 함수 : 함수() { \t VAR = 날이, \t VAR 가기 Ext.create = ('Backend.store.Nav'); \t \t store.load (함수() { \t \t \t me.items = 저장소; \t \t}); ... – Peter

+0

me.items = store doesnt work,하지만 왜? – Peter

+0

도구 모음을 작성한 후 XMLHttpRequest (AJAX 요청)가 완료되기 때문에 hav initComponent가 실행되기 전에로드 된 항목. – Tower

관련 문제