<select>
<option>active</option>
<option>Deactive</option>
</select>
$scope.isActive = $scope.data.gameStatus;
我的选项不是动态的,所以我认为不应该使用ng-option
,如何使用选中active
选项,假设$ scope.isActive的值为true
。
答案 0 :(得分:0)
请参阅ngSelected
here的文档。
只需在ng-selected="isActive"
上添加<option>
。
答案 1 :(得分:0)
将select
与ngModel
试试这个
<select ng-model="mycontrol.value">
<option>active</option>
<option>Deactive</option>
</select>
<强> JS 强>
$scope.mycontrol={
value:''
};
$scope.mycontrol.value="active";
编辑
来自api的数据是真实的,而不是“活跃的”,
试试这个
var flag = true;
$scope.mycontrol.value= flag ? "active" : "Deactive";
答案 2 :(得分:0)
这实际上是一个棘手的问题。首先,您需要设置ngModel
指令。但即使你这样做也无论如何都无法工作,因为你的模型是布尔类型,而选项值当然是一个字符串。 Angular不会正确绑定此类模型。 (当然,只有当你不想使用ngOptions
并希望使用简单的静态选项时,这在这种情况下才有意义。)
幸运的是,官方文档包含some hints。解决方案是添加一个辅助指令,将boolean转换为字符串以进行选项选择,将字符串转换为boolean,以便从所选选项中编写模型值。
angular.module('demo', []).controller('MainController', function($scope) {
$scope.isActive = true;
})
.directive('convertToBoolean', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
ngModel.$parsers.push(function(val) {
return val == 'true';
});
ngModel.$formatters.push(function(val) {
return val + '';
});
}
};
});
<script src="https://code.angularjs.org/1.4.3/angular.js"></script>
<div ng-app="demo" ng-controller="MainController">
<select ng-model="isActive" convert-to-boolean>
<option value="true">Active</option>
<option value="false">Deactive</option>
</select> {{isActive}}
</div>
所以,在这种情况下,使用ngOptions会更简单:)