У меня возникает проблема при привязке моего значения выпадающего списка с ассоциативным массивом.
Проблема связана с треком, так что, когда я не добавляю трек к моему выпадающему списку, тогда у меня есть привязка к раскрывающемуся списку, и когда я добавляю трек, тогда O не удается автоматически выбрать значение выпадающего списка.
Я хочу использовать track by с ng-options, чтобы angular js не добавлял $$ hashKey и эффективность производительности, связанная с отслеживанием.
Я не понимаю, почему это происходит.
Примечание. Я хочу привязать название вариантов как Пицца или гамбургер для каждого из моих $scope.items, а не для всего объекта.
Обновление: Как я понимаю и с такой большой попыткой с текущей структурой данных моих $scope.items он не работает с ng-options, и я хочу использовать ng-options с треком на избегать генерации хеш-ключа angular js. Я также попробовал ng-change, как предложил @MarcinMalinowski, но я получаю ключ как undefined.
Итак, какова должна быть моя структура данных $scope.items, так что, когда мне нужно получить доступ к любому элементу из моих $scope.items? Я могу получить к нему доступ, не делая цикл (например, мы обращаемся к элементам из ассоциативного массива), например, как теперь я могу получить правильную структуру данных и использовать ngoptions только с отслеживанием.
var app = angular.module("myApp", []);
app.controller("MyController", function($scope) {
$scope.items = [
{
"title": "1",
"myChoice" :"",
"choices": {
"pizza": {
"type": 1,
"arg": "abc",
"$$hashKey": "object:417"
},
"burger": {
"type": 1,
"arg": "pqr",
"$$hashKey": "object:418"
}
}
},
{
"title": "2",
"myChoice" :"",
"choices": {
"pizza": {
"type": 1,
"arg": "abc",
"$$hashKey": "object:417"
},
"burger": {
"type": 1,
"arg": "pqr",
"$$hashKey": "object:418"
}
}
}
];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<ul ng-app="myApp" ng-controller="MyController">
<div ng-repeat="data in items">
<div>{{data.title}}
</div>
<select ng-model="data.myChoice"
ng-options="key as key for (key , value) in data.choices track by $index"><option value="">Select Connection</option></select>
</div>
</ul>