У меня меньше массива. Я пытаюсь использовать различные ng-параметры, но не использовать. Как визуализировать в раскрывающемся списке, используя опции Angularjs ng?
getLanguages: [0: Object: Key: "en" Значение: "English", 1: Object: Key: "fr" Значение: "France"]
<select ng-options="language.Object.Value for language in getLanguages track by language.Object.Value"/>
<select data-ng-model="vm.model">
<option data-ng-repeat="language in getLanguages" value="{{language.Object.Key}}">{{language.Object.Value}}</option>
</select>
Я получил ответ:
<select class="form-control" data-ng-model="vm.model" >
<option data-ng-repeat="language in vm.getLanguages()" value="{{language.Key}}">{{language.Value}}</option>
</select>
На самом деле ответ представляет собой комбинацию ответов Дэвида и Старка выше.
Сначала вам нужно убедиться, что ваш контроллер правильно возвращает языки, как указал Старк в своем ответе.
Например, он должен включать что-то вроде:
$scope.languages = [
{ key : "en",
value : "English" },
{ key : "fr",
value : "French" }];
Затем вы можете заполнить свои параметры <select>
, используя эти языки. Как отметил Дэвид, правильный синтаксис будет похож на следующий:
<select ng-model="model.language"
ng-options="language.key as language.value for language in languages">
Этот синтаксис говорит "показать" значение "в раскрывающемся списке и сопоставить его с" ключом "для каждого" языка "в коллекции, возвращаемой переменной" languages "в области". Таким образом, в раскрывающемся списке будут отображаться "английский", "французский" и т.д., И когда вы выберете один, он установит значение модели "en", "fr" и т.д.
Вот рабочий Plunkr, показывающий выше в действии.
Попробуйте ng-options = "language.Object.Key as language.Object.Value for language in getLanguages()"
angular.module('app', []).controller("controllername", ["$scope", function($scope) {
$scope.getLanguages = [
{"en":"English"},
{"fr":"French"}
];
$scope.getKey = function(getLanguages) {
return Object.keys(getLanguages)[0];
}
}]);
[Object: Key:"en" Value:"English", Object: Key:"fr" Value:"France"]
не является JavaScript. Также выложите все соответствующие коды. Мы не знаем, что на самом деле делает vm.getLanguages ().