Я хотел бы подклассифицировать модель, которую я создал с помощью Sencha Architect. Скажем, у меня есть модель под названием BaseModel, которую я уже создал, и мне нужно создать другую модель, назовите ее MyModel, которая расширяет BaseModel. В коде, это будет выглядеть примерно так:Sencha Architect: Подклассификация модели
// BaseModel.js
Ext.define('MyApp.model.BaseModel', {
extend: 'Ext.data.Model',
fields: [...]
});
и
// MyModel.js
Ext.define('MyApp.model.MyModel', {
extend: 'MyApp.model.BaseModel',
fields: [...]
});
Я новичок в ExtJS и Сенча архитектор, но это то, что это так просто сделать в коде и так важно для надлежащего который, я полагаю, должен быть способ сделать это в Архитекторе. К сожалению, я не мог понять, как это сделать легко. После некоторого копания я нашел это в документации Сенча, http://docs.sencha.com/architect/2/#!/guide/classes, в котором говорится следующее под заголовком «Пользовательские классы»:
Хотя описанные выше функции позволяют создавать классы из поддерживаемых элементов в панели инструментов, иногда вам может потребоваться создать простой класс без родителя или класс, который расширяет другой класс, который не отображается в панели инструментов. Вы можете сделать это в Архитекторе, используя элемент «Класс» в панели инструментов.
Хорошо, звучит многообещающе - поэтому я попробовал это. В инспекторе проекта я попал в знак плюса, отправился в «Класс» и в рамках этого «Модель». Итак, теперь у меня есть собственный класс Model в моем проекте. Я называю это MyModel
, и я установил конфигурацию «extend» как MyApp.model.BaseModel
. Итак, теперь, по крайней мере, код верен и выглядит так, как у меня выше. Тем не менее, архитектор, похоже, не знает, что класс MyModel
является моделью, хотя он сидит в разделе «Модель» моего инспектора проектов и расширяет BaseModel
. Он не имеет никаких свойств конфигурации модели, таких как «поля», которые мне нужно указать, и я не могу связать MyModel
с любым типом Магазина. Другими словами, Architect обрабатывает MyModel
как полностью настраиваемый класс и не демонстрирует поведения модели. Это в основном делает этот способ подкласса совершенно бесполезным - я могу подклассифицировать модель, но тогда я не могу использовать ее как модель в любом месте моего проекта, так что в чем смысл?
Итак, вопрос в том, как я могу заставить архитектора обрабатывать MyModel
как фактическую модель? Разве это не правильный подход к подклассу в Architect? Я только начинаю свой проект, но я предвидел необходимость подкласса очень часто, будь то модели, контроллеры, магазины и т. Д., И если я не могу сделать это с Architect, это серьезное ограничение.
, как решить это ?? –