0

現在、私は ext.js 6 を学んでおり、質問があります。

ツリーのようなメニューを作成したいのですが、からあらゆる種類のツリーを作成する方法を知っています。しかし、ユーザーがツリー内の別のリーフをクリックしたときにビューを変更するにはどうすればよいですか? イベント(onClickなど)を操作するにはコントローラー(viewcontroller)とハンドラーが必要ですが、そこからビューをレンダリングするにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

add()そのためには関数を使用する必要があります:

add( コンポーネント ) : Ext.Component[]/Ext.Component

コンポーネントをその親に追加します。

レンダリングするビューをパラメーターとして渡す必要があります

例えば。formpanelビュー ポートに&buttonを直接追加する:

 Ext.Viewport.add([
{
  xtype:'formpanel'
},
{
 xtype:'button'
}
]);
于 2016-02-16T09:02:49.423 に答える
1

私のアプリケーションです(実際にはExtJS 4を使用していますが、考え方は同じだと思います)私は次のようにします:

var viewport = Ext.create('Ext.container.Viewport', {
    alias: 'widget.viewport',

    layout: 'border',

    items: [
        // Its my main menu, displayed on all pages
        portalToolbar,
        {
            xtype: 'panel',
            itemId: 'mainPanel',
            layout: 'fit',
            region: 'center'
        }
    ]
});

メニュー項目をクリックすると、メイン パネルからコンテンツを削除し、次のように新しいコンテンツを追加します。

// remove previous page from main panel,
// think about `abort()`ing all ajax requests, clear intervals and so on along with this
mainPanel.removeAll();
// `currentInterface` is any component that is one of the pages of my application
mainPanel.add([currentInterface]);

また、上記のようにExt.util.History、メニューをクリックして履歴に新しいトークンを追加し、履歴changeイベントを開くアプリケーションページを確認することもできます。

于 2016-02-16T09:19:50.290 に答える