Я пытаюсь выяснить, какой правильный способ Ember.js моделировать этот проект будет, например. какие модели, маршруты и контроллеры понадобятся. I have started a jsBin to work from.Ember.js: как смоделировать этот пример?
Мои требования можно смело уменьшить до:
Элементы & их варианты
- изделия имеют набор опций
- Опции имеют свои собственные свойства
- Детали имеют другие свойства (рядом с опциями), что приборная панель будет использовать
Dashboard
- Приборная панель не имеет никаких данных о его собственного
- Приборная панель необходимо соблюдать все детали и опции, а также обновить анализ их свойств
навигации
- Vi rtual none
- Это будет отображаться на одной странице, но в будущем может быть добавлено небольшое количество страниц/всплывающих окон
- Я хочу, чтобы иметь возможность сохранять и повторно заполнять заданное состояние (например, список выбранных Опция идентификаторы)
данные
- данные будут загружены один раз с одним вызовом JSon логика
- приложений будет сделан исключительно в Ember на клиентской стороне - нет Аякса для бизнес-логики
- только последующий контакт ж/сервер будет, если/когда пользователь сохраняет состояние
Так как бы это быть структурирована в Эмбер?
Я попытался сделать это один раз сам по себе, но это была моя первая попытка, и я закончил с довольно уродливой настройкой. Я хотел бы видеть, как кто-то с опытом Ember бы подойти к этому:
jsBin Макета (link)
Я создал ряд шаблонов руля, но не принял удар на то, что должны существовать модели и какие контроллеры необходимы.
Json
{
"Items" : [
{
"Item" : {
"nid" : "3",
"title" : "Hydro",
"image" : "http://bpf.vm/sites/default/files/bpf_things/hydro.jpg",
"properties" : "Baseload, Intermittent",
"values" : {
"Cost" : {
"price" : "6",
"quantity" : null
},
"Percent of Portfolio" : {
"price" : null,
"quantity" : "56"
}
},
"options" : {
"1" : {
"price" : "1512",
"quantity" : "10000"
},
"12" : {
"price" : "825",
"quantity" : "20000"
},
"11" : {
"price" : "550",
"quantity" : "50000"
}
}
}
},
{
"Item" : {
"nid" : "4",
"title" : "Nuclear",
"image" : "http://bpf.vm/sites/default/files/bpf_things/nuclear.jpg",
"id" : "",
"properties" : "Baseload, Predictable",
"values" : {
"Cost" : {
"price" : "8",
"quantity" : null
},
"Percent of Portfolio" : {
"price" : null,
"quantity" : "21"
}
},
"options" : {
"4" : {
"price" : "825",
"quantity" : "10000"
},
"13" : {
"price" : "411",
"quantity" : "15000"
}
}
}
},
{
"Item" : {
"nid" : "5",
"title" : "Natural Gas",
"image" : "http://bpf.vm/sites/default/files/bpf_things/gas.jpg",
"id" : "9",
"properties" : "Baseload, Predictable",
"values" : {
"Cost" : {
"price" : "5",
"quantity" : null
},
"Percent of Portfolio" : {
"price" : null,
"quantity" : "24"
}
},
"options" : {
"7" : {
"price" : "400",
"quantity" : "50000"
},
"10" : {
"price" : "600",
"quantity" : "100000"
}
}
}
}
]
}
Можете ли вы уточнить, что вы подразумеваете под моделированием этого? Вы имеете в виду, как вы проектируете контроллеры, URL-адреса и т. Д.? Или вы имеете в виду модели данных? Если первое, увидев вашу «уродливую» настройку, будет полезно. – EmptyArsenal
Обновлено сообщение w/more details, ссылки на jsBin (только шаблоны - проблема с переносом моей текущей работы) и обновленный снимок экрана. – doub1ejack
очень полезная беседа о том, как структурировать это приложение с Конрадом: http://chat.stackoverflow.com/rooms/41721/discussion-between-conrad-friedrich-and-doub1ejack – doub1ejack