Как использовать md-чипы с ng-repeat (ключ, значение)
Я пытаюсь использовать md-chips с ng-repeat при использовании аромата (ключ, значение). Вот пример того, что я пытаюсь сделать:
<md-content class="md-padding" layout="column" ng-repeat="(key,value) in items">
<md-chips ng-model="???" name="fruitName" readonly="true" md-removable="" md-max-chips="5">
<md-chip-template>
<strong>{{key}} :{{value}}</strong>
</md-chip-template>
</md-chips>
</md-content>
(Я не знаю, что делать в ng-model
).
заранее спасибо
редактировать
вот мои данные json, например {'a': '1', 'b': '2', 'c': '3'}
<md-chips class="custom-chips" ng-model="ctrl.vegObjs" readonly="true">
<md-chip-template>
<span>
<strong> {{$chip}} </strong>
</span>
</md-chip-template>
</md-chips>
используя этот код, я могу получить {"a": "1"} {"b": "2"} {"c": "3"}, но это не совсем то, что я хочу.
2 ответа
Решение
2016-10-26 03:14
Вы можете создать другой объект, который будет хранить значение fruitName
с тем же ключом.
$scope.fruitNames = {}; //inside controller.
<md-content class="md-padding" layout="column" ng-repeat="(key,value) in items">
<md-chips ng-model="fruitNames[key]" name="fruitName" readonly="true" md-removable="" md-max-chips="5">
<md-chip-template>
<strong>{{key}} :{{value}}</strong>
</md-chip-template>
</md-chips>
</md-content>
Более удобный способ будет, если вы можете изменить структуру JSON ниже. Тогда вы могли бы иметь FruitName на каждом уровне записи
[
{id: 'a', value: 1},
{id: 'b', value: 2},
{id: 'c', value: 3},
...
]
наценка
<md-content class="md-padding" layout="column" ng-repeat="item in items">
<md-chips ng-model="item.fruitName" name="fruitName" readonly="true" md-removable="" md-max-chips="5">
<md-chip-template>
<strong>{{item.id}} :{{item.value}}</strong>
</md-chip-template>
</md-chips>
</md-content>