我已经通过了很多关于如何使用ng-options的答案,但还没有找到解决方案或正确的方法。
我的代码很简单。我想迭代我收到的响应对象并填充我的"选择"标签'选项'名称属性。
index.js
app.controller("promo", function($scope, $http) {
$scope.behaviors = {};
$scope.init = function() {
return $http.get('/behaviors').then(function(response) {
$scope.behaviors = response.data;
console.log(typeof($scope.behaviors))
})
}
我的回答看起来像这样
Object {bangalore.yml: Object, ean.yml: Object, chennai.yml: Object}
我认为我可以用ng-repeat这样做
<select ng-model="behavior" ng-repeat="behavior in behaviors">
<option>{{behavior.name}}</option>
我是初学者,我需要知道该做什么以及ng-options如何运作。
答案 0 :(得分:2)
使用: -
<select ng-model="behavior" ng-options=" value.name for (key, value) in behaviors">
</select>
答案 1 :(得分:1)
如你所说,使用ng-options:
<select ng-model="behavior" ng-options="value as key for (key, value) in behaviors">
这会将所选值绑定到behaviour
,显示选项将是对象的键。
另请注意,您不需要option
元素。
答案 2 :(得分:0)
你应该使用
如果要显示名称并绑定整个对象,请使用下面的
<select ng-model="behavior" ng-options="behavior.name for behavior in behaviors"></select>
如果要显示该对象的名称和绑定ID,请使用下面的
<select ng-model="behavior" ng-options="behavior.is as behavior.name for behavior in behaviors">
</select>