无法使用ng选项和ng init为我的选择定义默认值

时间:2016-03-12 23:24:22

标签: angularjs

当我想在我的选择中精确定义默认值时,我不知道为什么它不起作用:

<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。 请帮助^^

1 个答案:

答案 0 :(得分:0)

应该没有.name

ng-init="action1 = skills[0]"

并且在编译skills指令之前应该获取ng-init数组,你可以使用类似的东西:

<select ng-if="skills.length" ng-init="action1 = skills[0]"注意ng-if