Я хочу показать содержимое моей модели json динамически, в зависимости от предоставленного json. Я использую ng-repeat
для прокрутки моих данных и хочу отобразить html-шаблон для заполнения данными, зависящими от типа данных.angularjs: динамический html в зависимости от данных json
JSON
{
"elements": [
{
"type": "input-text",
"desc": "Full Name"
},
{
"type": "input-checkbox",
"desc": "Accept Terms"
}
]
}
Это должно привести к различным HTML код, соответствующий заполненный с содержанием JSon.
E.g.
<div><label>Full Name</label> <input type="text"></div>
<div><input type="checkbox"> <label>Accept Terms</label></div>
Прямо сейчас, что я делаю, это использовать angularjs директиву, чтобы создать элемент и добавить значения JSon в нужном месте. e.g. element.html('<div><input type="checkbox"> <label>' + scope.item.desc + '</label></div>')
Это похоже на способ jquery (или, что еще хуже) сделать это, хотя я хочу сделать это «правильным» угловым способом.
Как я могу использовать другой шаблон HTML, заполненный содержимым, в зависимости от найденных данных JSON?
PS: Приведенный выше пример является простым, встречающиеся данные намного сложнее, чем переключение положения полей label
и input
.
Вы можете использовать ресурс для получения json, если вы хотите использовать разные json, вы можете сделать только ... /: name.json. Кажется, вот правильный пример https://docs.angularjs.org/tutorial/step_08. –
http://onehungrymind.com/angularjs-dynamic-templates/ Это должно быть то, что вы хотите. –
Только для справки: Я знаю, как http.get() json, заполнить мою область действия и ngRepeat над элементами, только часть для использования разных блоков HTML (с данными) беспокоила меня. Спасибо @Huy за ссылку на вашу полезную статью, а также комментарии там очень помогают. –