In html
<select class="element-margin-top" ng-model="vm.selectedRole" ng-options="(roleName,enabled) in vm.roleNames">
<option value="">All Roles</option>{{vm.roles[0]}}
</select>
我想在select options中显示所有数组元素。我不明白这里发生了什么。它在vm.roleNames中给出了与(roleName,enabled)相关的错误
In js:
var vm = this;
vm.roleNames = ['SuperAdmin','Admin','Retailer','Manufacturer'];
vm.selectedRole = vm.roleNames[-1];
我希望默认选择第一个元素。
答案 0 :(得分:2)
ng-options="(roleName,enabled) in vm.roleNames"
在这种情况下,vm.roleNames
是一个数组,因此,roleName
是index
而enabled
是真实的"roleName"
< / p>
所以你的代码应该是这样的:
<select class="element-margin-top" ng-model="vm.selectedRole" ng-options="(index,roleName) as roleName in vm.roleNames">
<option value="">All Roles</option>
</select>
答案 1 :(得分:0)
试试这个,首先通过defult选择你可以使用$ first
<select ng-model="selectedRole">
<option ng-repeat="name in roleNames "
ng-selected="$first" value="{{name}}">{{name}}</option>
</select>
答案 2 :(得分:0)
在html中:
<select class="element-margin-top" ng-model="vm.selectedOption">
<option value="">All Roles</option>
<option ng-repeat="item in vm.optionNames" value="{{item}}">{{item}}</option>
</select>
在js中: -
vm.optionNames = ['User', 'Account', 'Brand'];
vm.selectedOption = vm.optionNames[-1];
尝试阅读http://www.undefinednull.com/2014/08/11/a-brief-walk-through-of-the-ng-options-in-angularjs/