2011-05-17 10 views
1

私は、Ext JS 4.0と新しいMVCアーキテクチャについて掘り下げ始めました。いくつかのグリッドとツリービューとそれらの適切なストアを持つユーザーコントローラを作成しました。ここまでは順調ですね。Ext JS 4.0 - MVC Ext.panel.Form&Ext.ComponentLoader

私は最初のフォームを作成しましたが、私は新しいローダーの設定に苦労しています。フォームがレンダリングされ、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":"[email protected]" 
     } 
    ] 
} 

私はレンダラのオプションのすべてを台無しにし、ターゲットで遊んでみました。私は、レンダラー、ターゲット、JSON形式の組み合わせを考えれば非常に混乱しています。

私は雑草の中でおそらくオフです...誰もこれを働かせてくれましたか?私はこの事例を見つけるのが非常に困難です。

答えて

0

ローダーがレコードをロードしているかどうかわかりません。ルート:を指定する必要があります。すべての作業例では、フォーム上にローダーを使用せず、モデルにストア、モデル、およびプロキシを指定するだけで済みます。フォーム自体のローダーは、実際にMVCを使用していないことを意味します。

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

しかし、その後、彼のコントローラやビューが

1

はあなたのJSONで[]を削除店舗/モデル/プロキシで使用されている方法を一読app.jsからの彼の例に従ってください。

0

これは古い質問ですが、docsを見て間違ったレンダラータイプを使用しています。 Extコンポーネントの設定ではなくデータを返すので、「コンポーネント」ではなく「データ」でなければなりません。