2011-09-17 12 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 e 'initComponent'が実行される前に読み込まれた項目。 – Tower

関連する問題