1

Ext JS 4.0 と新しい MVC アーキテクチャを掘り下げ始めたところです。いくつかのグリッド ビューとツリー ビュー、およびそれらの適切なストアを備えたユーザー コントローラーを作成しました。ここまでは順調ですね。

最初のフォームを作成したばかりで、新しいローダー構成に苦労しています。フォームがレンダリングされ、次の Ajax 呼び出しは成功しますが、フォームに入力されません。

/*
 */
Ext.define('CORE.view.user.Form' ,{
   extend: 'Ext.form.Panel'
  ,alias : 'widget.userform'
  ,frame: true

  /*
   */
  ,initComponent: function() {

      Ext.apply(this, {
         title: 'User Form'
        ,height: 175
        ,items: [{
            xtype: 'textfield'
           ,fieldLabel: 'Name'
           ,name: 'name'
         },{
            xtype: 'textfield'
           ,fieldLabel: 'Email'
           ,name: 'email'
         }]

        ,loader: {
            url: 'data/usersform.json'
           ,autoLoad: true
           ,renderer: 'component'
           ,params: {
               email: 'email'
            }
         }
      });

      this.callParent(arguments);
   }
});

現在使用している JSON は次のようになります。

{
    "success":true,
    "data":[{
            "name":"Ed",
            "email":"ed@sencha.com"
        }
    ]
}

すべてのレンダラー オプションをいじって、ターゲットで遊んでみました。レンダラー、ターゲット、および JSON 形式の可能な組み合わせを考えると、私は非常に混乱しています。

私はおそらく雑草の中でかなり離れています...誰かがこれを機能させましたか? 私はこれの例を見つけるのに非常に苦労しています。

4

3 に答える 3

1

JSON から and を削除し[ます。]

于 2011-06-17T06:16:56.900 に答える
0

これは古い質問だと思いますが、ドキュメントを見ると、間違ったレンダラー タイプを使用しています。Ext コンポーネント構成ではなくデータを返すため、「コンポーネント」ではなく「データ」である必要があります。

于 2012-04-04T10:22:52.120 に答える
0

あなたのローダーがレコードをロードしているかどうかはわかりません - root: を指定する必要があるかもしれません。私が見つけたすべての実用的な例では、フォームでローダーを使用していませんが、モデルでストア、モデル、およびプロキシを指定しています。フォーム自体のローダーは、実際には MVC を使用していないことを意味します。

MVC の実例については、こちらをご覧ください....https://github.com/lucassus/extjs4-account-manager/tree/master/public - 彼はローダーなしで ext-debug を使用しています....I' ext-debug-all-w-comments と app.js のローダーを使用して動作させる必要がありました。

しかし、app.js からの彼の例に従って、彼のコントローラーとビューが store/model/proxy でどのように使用されているかを調べてください。

于 2011-06-12T15:42:03.797 に答える