下拉菜单中的复选框并未从先前在AngularJS中选择的值中检查
问题描述:
我是AngularJS的新手。我试图让复选框显示为从以前选择的值中检查。我认为ng-class会做的,但事实并非如此。我在下面的代码中做了什么错误?下拉菜单中的复选框并未从先前在AngularJS中选择的值中检查
这里是我的HTML代码:角
<ul class="dropdown-menu menu-content" uib-dropdown-menu>
<li ng-repeat="value in values" >
<label><input type="checkbox" ng-class="{'checked' : value.selected, 'active' : value.selected}" ng-click="$ctrl.toggleValue(value)">{{value.valueName}}</label></li>
</ul>
答
<body>
<script>
var app = angular.module("myShoppingList", []);
app.controller("myCtrl", function($scope) {
// dummy data
$scope.value = 1; // some value
});
</script>
<div ng-app="myShoppingList" ng-controller="myCtrl">
<input type="checkbox" ng-checked="value === 1">
</div>
</body>
使用内置的NG-检查指令。
我试过ng-checked =“value.selected”和ng-model =“value.selected”,他们都工作,但我不知道有什么区别。我注意到的一件事是ng-model在动态显示bootstrap下拉菜单中的多选值时不起作用。类似于https://codepen.io/anon/pen/pjagZR但具有多选值的东西。 (参考从https://stackoverflow.com/questions/33278097/how-to-display-the-selected-item-on-bootstrap-dropdown-title-in-angular) – CiCi
ng-checked是角提供的指令,标记复选框检查它的值是否真实。使用它来代替ng-model来避免任何意外的错误,因为它是为了这个目的而设计的。 –