1

私は Sencha が提供するドキュメントに従い、項目のリストを自分で作成し、それをナビゲーションビューと次の詳細ページに変換しました。これは多対 1 のソリューションであり、以下の図で説明されています。

多対一のソリューション

このソリューションを使用すると、リスト内のアイテムのタイトルを詳細ビューに送信し、次のように入力できます。 : '大統領詳細',

config: {
    styleHtmlContent: true, 
    scrollabe: 'vertical',
    title: 'Details',
    tpl: 'Hello {firstName}!'
}

}); `[/コード]

このコードではステートメントを使用できないようで、クリックしたアイテムに応じて必要なコンテンツを指定できます。それでは、私の質問は、これに対してより静的な視点を作成するにはどうすればよいですか? 代わりに 1 対 1 の関係を作成できますか? (下の画像を参照)

1対1のソリューション

誰でもこれを達成する方法を知っていますか? 私は現在 MVC を使用しており、これは「私の」(読み取り: Senchas) コントローラーの現在の状態です。

Ext.define('navigation.controller.Main', {
extend: 'Ext.app.Controller',

config: {
    refs: {
        main: 'mainpanel'
    },
    control: {
        'presidentlist': {
            disclose: 'showDetails'
        }
    }
},

showDetails: function(list, record) {
    this.getMain().push({
        xtype: 'presidentdetail',
        data: record.data
    });
}

});

4

1 に答える 1

0

この問題は解決され、思ったよりずっと簡単になりました。ドキュメントで itemTap イベントを調べ、アイテムのインデックスを ID として使用して、この小さなスニペットを書きました。

showDetailsonItemTap: function(list, index, target, record) {
    var page;
    switch(index) {
        case 0:
            page = 'presidentdetail';
            break;
        case 1: 
            page = 'presidentdetail2';
            break;
    }
    this.getMain().push({
                xtype: page,
                data: record.data
        });
    console.log(index);
}

その後、ビューを手動で作成し、switchstatement 内で xtype をヒットします。

于 2013-03-21T13:28:20.390 に答える