我有一组数据items
:
$scope.items = [
{
"value": 1,
"text": "1st"
},
{
"value": 2,
"text": "2nd"
}
]
我希望能够创建一个选择标记,如:
<select ng-model="currentSelection" ng-options="item.value as item.text for item in items"></select>
这是显示所有items
下拉列表的常规方式。
是否可以将"item for item in items"
指定为范围变量并将该范围变量分配给ng-options
? IE(在控制器中):
$scope.options = "item.value as item.text for item in items";
并且在视野中:
<select ng-model="currentSelection" ng-options="{{options}}"></select>
现在,我对最后一个示例的实现导致选项被加载为空字符串,我能想到的唯一原因是在首先加载ng属性/变量之后加载范围变量。
答案 0 :(得分:0)
看看这个:
var app =angular.module('app',[]);
app.controller('Ctrl', function($scope){
$scope.currentSelection = "";
$scope.expression = "item.value as item.text for item in items";
$scope.items = [
{
"value": 1,
"text": "1st"
},
{
"value": 2,
"text": "2nd"
}
]
});
这应该有效。其他方法是创建一个指令。