Здесь есть похожие вопросы и , хотя мой прецедент немного отличается.
У меня есть объект с именем uniqueLists, который выглядит так:
$scope.uniqueLists - {
name: [
'string1',
'string2',
'string3'
// Lots of strings
],
Category: [
'string1',
'string2',
'string3'
// Lots of strings
],
designer: [
'string1',
'string2',
'string3'
// Lots of strings
]
}
Я пытаюсь создать функцию поиска из этого списка. В настоящее время я могу отображать все элементы списка на флажках на странице, подобной этой (в следующем коде используется механизм шаблонов Jade для Node/ExpressJS, это достаточно легко понять, даже если вы не знакомы с ним. Отступ == ребенок node строки над ним)
div(class="searchNav")
p(ng-repeat="param in searchParams") {{param[0] + ' = ' + param[1]}}
div.row-fluid(ng-repeat="(key,val) in uniqueLists")
form(ng-model="???") {{key}}
label.checkbox(ng-repeat="value in val")
input(type="checkbox", ng-model="?????")
{{value}}
Единственная проблема, с которой я столкнулся, - это ng-model моей формы и флажков. Я хочу form ng-model == {{key}}. Я пробовал установить это, но он разбивает Angular. Я также пробовал ng-model='uniqueLists[index][0]', но, опять же, Angular не анализирует это и просто делает каждую форму модели строкой uniqueLists[index][0].
То же самое касается флажков input, я хочу их ng-model="{{value}}". Есть ли способ сделать это в моем контроллере? Я не могу думать ни о чем, что будет работать внутри ng-repeat.
Небольшая заметка для всех, кто наткнулся на этот вопрос
Как вы увидите в ответе/скрипке ниже, когда вы ссылаетесь на объект/позиции в ng-model, они не отображаются в их правильные имена в DOM, но они кажутся работать с Angular, как будто они есть.
Например, в приведенном выше коде установка ng-model="uniqueLists[key][val]" отображает в DOM как ng-model="uniqueLists[key][val]", но ведет себя так, как будто она ng-model="uniqueLists[name][string1]".
Кажется, это странная причуда Angular, это сработало, потому что я проверял имена ng-model в моем браузере, прежде чем подключить его к моему контроллеру, и когда увидел, что он не разбирает объект для правильные значения Я предположил, что он не работает.
