Здесь есть похожие вопросы и , хотя мой прецедент немного отличается.
У меня есть объект с именем 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
в моем браузере, прежде чем подключить его к моему контроллеру, и когда увидел, что он не разбирает объект для правильные значения Я предположил, что он не работает.