Я смущен тем, как правильно использовать Модели/Магазины/Прокси/Читатели в ExtJS 4. Я прочитал руководства и посмотрел примеры, но до сих пор не вижу решение моей проблемы.ExtJS: Confused о пакете модели
Цель: Say Я работаю с car
объектов (для которых модель существует), которые содержат (среди прочего):
- идентификаторами автомобиля (VIN #, марка, модель, год, цвет , т.д.)
- История собственности
- История Техническое обслуживание
- Подробный список компонентов автомобиля (двигателя: {L-Twin цилиндр, 2 клапана на цилиндр Desmodromic, с воздушным охлаждением}, передний тормоз: {}, ...)
И предположим, я использую VIN # как primairy ключ, и что у меня есть установка RESTfull API как
GET /car // gets list of cars
GET /car/123abc // gets car with VIN# 123abc
Теперь, если у меня есть ссылка на VIN # в контроллере, что я хочу сделать, это запустить сложной приборной панели, которые могут иметь такие компоненты, как:
- сетка для компонентов автомобиля
- график расходов на техническое обслуживание в зависимости от времени
- Пользовательская панель для отображения марка, модель, год
- ЭСТ
Проблема: Скажем, у меня есть Car
модель и CarComponent
модель, в которой настроен мой сервер для отправки вложенных данных (т.е. нет API для прямого взаимодействия с CarComponent
's). В идеале ... Я просто хочу запросить данные автомобиля с сервера с помощью простого GET /car/<the vin #>
и использовать возвращаемые данные для заполнения всех компонентов комплексной панели. Так что моя стратегия попытки:
- Модель:
Car
,CarComponent
- Магазины:
Cars
- Доверенные: один остальные прокси прикреплен к
Car
модели - какого-то образом использовать вложенные свойства
Car
для заполнения компоненты (например, сетка компонентов)
Или мне нужны отдельные магазины для компонентов? Кроме того, я не могу сказать, как работают магазины; I не хочу загрузить все автомобили с сервера .. только указанный. Я просто смущен тем, как объединить модели/прокси/магазины, чтобы выполнить то, что мне нужно ...
Хорошая идея для человека. Я пошел с тем, что вы сказали, с двумя отдельными магазинами - но вместо того, чтобы делать 2 запроса, я делаю 1 запрос на автомобиль, чтобы загрузить автомобиль, затем вручную заполнить компонентный магазин – Colin
@Colin. Добро пожаловать! –
@Colin Я добавил, как использовать только один запрос для заполнения обоих магазинов, концепцию, которую вы уже успешно применили :) –