AngularJS ng-repeat设置默认选择值
问题描述:
$scope.activities =
[
{ id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" },
{ id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" }
];
<select data-ng-model="engineer.currentActivity" data-ng-options="a.name for a in activities">
</select>
使用上述我可以创建一个3值的选择框,一个空白的,然后下拉菜单和水平栏。AngularJS ng-repeat设置默认选择值
我想设置水平栏作为我的默认值,不能看到如何做到这一点。
帮助将是巨大的
答
在控制器中,只需添加一行设置初始选择:
$scope.activities =
[
{ id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" },
{ id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" }
];
$scope.engineer = {}; // if needed
$scope.engineer.currentActivity = $scope.activities[1];
答
在您的角度控制器:
$scope.activities = [
{ id: 1, type: "DROPDOWN_MENU", name: "Dropdown Menu" },
{ id: 2, type: "HORIZONTAL_BAR", name: "Horizontal Bar" }
];
$scope.activity = $scope.activities[1]; //Bind 2nd activity to the model.
在HTML:
<select ng-model="activity"
ng-options="activity as activity.name for activity in activities">
<option value=""></option>
</select>
顺便说一句,如果你要结束了从服务器拉'activities',你需要滋润选择的选项,你想看看'ng-options'表达式中的'追踪'表达式。 –