Я пытаюсь создать страницу редактора product
в своем приложении. Данные продукта полностью переменный, однако он структурирован следующим образом:Переключение шаблона на основе значения в Iron Router
{
"_id" : "543e759ff08da702009542d2",
"fields" : [
{
"binding" : "title",
"type" : "text",
"_id" : "543e759ff08da702009542d8",
"data" : "A TEST Product Title"
},
{
"binding" : "description",
"type" : "multiLineText",
"_id" : "543e759ff08da702009542d7",
"data" : "Oooo... Simply delicious text that describes the product in detail"
},
{
"binding" : "price",
"type" : "currency",
"_id" : "543e759ff08da702009542d6",
"data" : "£2.25"
},
{
"binding" : "image",
"type" : "image",
"_id" : "543e759ff08da702009542d5",
"data" : "http://www.google.com/image.png"
}
]
}
До сих пор на странице у меня есть {{#each fields}}
блока внутри формы.
Что бы я хотел сделать, так это иметь отдельные шаблоны «textEditor», «currencyEditor» и т. Д. Для каждого типа поля, которые могут потребоваться отредактировать, сохраняя при этом всю логику красиво разделенной.
Как лучше всего внедрить соответствующий шаблон в представление?
очень грубым способом было бы что-то вроде:
{{#each fields}}
{{#if typeIs 'text'}}
{{>textEditor}}
{{/if}}
{{#if typeIs 'currency'}}
{{>currencyEditor}}
{{/if}}
{{/each}}
Woah. Я даже не знал, что ты можешь это сделать. Получите мой взнос и мою благодарность! –
Извините, что продлеваю мой вопрос Пеппе, но если я сделаю это так, как вы описали, как, черт возьми, я должен подключить кнопку «Сохранить» в конце формы? Только каждый шаблон «редактора» знает, как лучше всего сохранить свои собственные данные, но я хочу, чтобы сохранение было сделано в одном обновлении, когда пользователь нажимает на сохранение ... Любые идеи? – Siyfion
@Siyfion, решение в моем обновленном ответе не достаточно хорошо? –