1

以下のコードは、コントローラー関数の一部です。

success: function (response) {

                            var text = response.responseText;

                            var result = Ext.decode(response.responseText);

                            var indexPanel = Ext.create('app.view.PersonDetails');

                            Ext.getCmp('mainView').push({

   xtype:'person',

   data: result

   });

}

以下のコードは、コントローラー関数 (上記) から値を渡すビューです。以下のコードは、そのビュー ( ) でハードコードされたデータを示していますHard coded textが、私がやりたいことはdata: result、コントローラー関数 (上記) から渡したものを次のビューに表示することです。これどうやってするの ?

Ext.define('app.view.UserInformation',{

           extend:'Ext.Panel',

           xtype:'person',

           config: {
                title:'Person details',       
    html:['Hard coded text'].join("")
           }

});

アップデート

には、次のresultようないくつかの値が含まれています。

result.name, result.age. result.gender

もうresult一方のビューに移動します。

1.) ビューから、どうすればボタンを追加できますか? ユーザーがそのボタンをクリックした場合、result.ageフィールドを取得して if 条件を実行して年齢が 10 歳未満かどうかを確認するにはどうすればよいですか?

2.) と呼ばれるフィールドがある場合result.imageurl、他のビュー (フレーム内) に画像を表示するにはどうすればよいでしょうか?

更新2

Ext.getCmp('mainpanel').push({

 title: 'Hello ' ,
xtype:'person'
});
Ext.getCmp('idOfTheView').setRecord(result.first_name);
4

1 に答える 1

0

あなたの質問は Sencha Touch だけで、PhoneGap には関係ありません。:)

ビューに id があるとします。view_id

次に、コントローラー関数で:

Ext.getCmp('view_id').setHtml(what you want to put into your view)

更新された回答:

あなたの質問はいくつかのサブ質問で構成されています。ご質問の範囲が広すぎて申し訳ありませんが、最も重要な部分についてお答えします。

(私自身のアプリケーションから):

Ext.define('rs.view.ProductInfo', {
    extend: 'Ext.Container',
    xtype: 'ProductInfo',
    id: 'product-info',
    cls: 'product-info',

    config: {
            items: [
                    {
                            xtype: 'panel',
                            styleHtmlContent: true,
                            id: 'product-info-header',
                            tpl: [
                                    '<div class="product-info-header">',
                                            '<img src={image} width="100px" height="100px"/>',
                                            '<h3>{name}</h3>',
                                            '<h4>Price: {price}</h4>',
                                            '<h4>Seller: {sellerUsername}</h4>',
                                    '</div>',
                            ],
                    },
            ],
    }
});

属性を使用してモデルを定義したことに注意してください。上記のコード スニペットでは、 (構成を使用して) 通常の使用のように構成{image},{name},{price},{sellerUsername}でそれらを使用していることがわかります。どうすればそれができますか?tplExt.Liststore

まず、結果を説明するモデルを定義する必要があります。明らかに。

tpl次に、あなたの見解を定義してください。上記の例から理解できると思います。

最後に、これを使用します (サーバーから受け取った結果を、最初のステップで述べた Model インスタンスに書き込んだと仮定します):

Ext.getCmp('your_view_id').setRecord(your_model_instance)

何度も使っているので100%動作保証。それが役に立てば幸い。ご不明な点がございましたら、コメントを残してください。

于 2012-05-14T15:51:46.837 に答える