2011-05-17 4 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 без загрузчика. Я должен был использовать ext-debug-all-w-comments и загрузчик в моем приложении app.js, чтобы заставить все работать.

Но следовать его примеру, из app.js, а затем посмотреть, как его через контроллеры и вид используются с магазина/модели/прокси

0

Я понимаю, что это старый вопрос, но, глядя на docs, вы используете неправильный тип рендеринга. Это должно быть «данные», а не «компонент», потому что вы возвращаете данные, а не конфигурацию Ext Component.