#model-view-controller #extjs #extjs4
#model-view-controller #extjs #extjs4
Вопрос:
Я только начинаю углубляться в 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"
}
]
}
Я перепутал все параметры рендеринга и попытался поиграть с target. Я очень смущен, учитывая возможные комбинации средств визуализации, целевых объектов и форматов JSON.
Я, вероятно, далек от сорняков… кто-нибудь заставил это работать? Мне очень сложно найти примеры этого.
Ответ №1:
Удалите [
и ]
в вашем JSON.
Ответ №2:
Я не уверен, что ваш загрузчик загружает запись — возможно, потребуется указать root:. Во всех рабочих примерах, которые я нашел, вы просто не используете загрузчик в форме, но указываете хранилище, модель и прокси-сервер в модели. Загрузчик в самой форме означал бы, что вы на самом деле не используете MVC.
Проверьте это для рабочего примера MVC ….https://github.com/lucassus/extjs4-менеджер учетных записей / дерево / мастер / общедоступный — он использует ext-debug без загрузчика….Мне пришлось использовать ext-debug-all-w-comments и загрузчик в моем app.js чтобы все заработало.
Но следуйте его примеру из app.js затем посмотрите, как его контроллеры и представление используются с хранилищем / моделью / прокси
Ответ №3:
Я понимаю, что это старый вопрос, но, просматривая документы, вы используете неправильный тип средства визуализации. Это должны быть «данные», а не «компонент», потому что вы возвращаете данные, а не конфигурацию внешнего компонента.