当我想在我的选择中精确定义默认值时,我不知道为什么它不起作用:
<select ng-init="action1 = skills[0].name"
ng-model="action1" ng-options="skill.name for skill in skills">
</select>
即使:
<select ng-init="action1 = action1"
ng-model="action1" ng-options="skill.name for skill in skills">
</select>
在我的控制器中,我会在服务器请求后自动加载用户。
$scope.user = dataFromServer;
$scope.action1 = $scope.user.action1;
$scope.skills = $scope.user.skills;
我的用户有一个数组“技能”。我可以在我的选择中选择一项技能,然后将选择的项目存储在$ scope.action1中。但是如果已经设置了$ scope.user.action1,我希望将我的select作为默认值。
我想使用ng-init和ng-options。 请帮助^^
答案 0 :(得分:0)
应该没有.name
:
ng-init="action1 = skills[0]"
并且在编译skills
指令之前应该获取ng-init
数组,你可以使用类似的东西:
<select ng-if="skills.length" ng-init="action1 = skills[0]"
注意ng-if