Javascript 为什么“ng checked”不能与“ng change”一起使用?

Javascript 为什么“ng checked”不能与“ng change”一起使用?,javascript,angularjs,Javascript,Angularjs,我有一个复选框列表。每当我点击一个复选框,我想调用一个函数,这取决于它是否被选中。这是通过使用ng change 同时,我还选中了ng,这有助于我使用按钮取消选中复选框 实施情况如下: <md-checkbox md-no-ink="true" ng-checked="selected.indexOf(brand) > -1" ng-change="value?add(brand):remove(brand)" ng-model="value" ng-repeat="brand

我有一个复选框列表。每当我点击一个复选框,我想调用一个函数,这取决于它是否被选中。这是通过使用
ng change

同时,我还选中了
ng
,这有助于我使用按钮取消选中复选框

实施情况如下:

<md-checkbox  md-no-ink="true"  ng-checked="selected.indexOf(brand) > -1" ng-change="value?add(brand):remove(brand)" ng-model="value" ng-repeat="brand in brands">
            {{brand}}
</md-checkbox>

<md-button ng-click="fun('Spice')">Uncheck</md-button>
在Stackovrflow上也有类似的问题,但在复选框中缺少ng模型方面存在问题。我在这里包括了ng车型

为什么这不起作用?我做错什么了吗?

州政府

请注意,本指令不应与ngModel一起使用,因为 这可能导致意外行为

您应该决定是使用
ng型号
还是
ng已选中
。不幸的是,目前无法在
md checkbox
指令()上使用
ng checked
。因此,您必须使用
ng型号
。下面的代码应该对您有所帮助

HTML

<md-checkbox md-no-ink="true" ng-model="selected[$index]" ng-repeat="brand in brands track by $index">
    {{brand}}
</md-checkbox>

Is Samsung selected: {{isSelected('Samsung')}}
请注意,每个复选框都需要自己的模型。在将
$scope.value
用作所有复选框的单个模型之前-在这种情况下,将同时选中/取消选中所有复选框


我相信上面的代码就是你要找的。如果我没有抓住要点,请随时发表评论。

ng checked指令不应与ng型号一起使用。哦。。我意识到了这个问题。ng model和ng checked之间存在冲突,无需
ng model
是否有办法确定复选框是否已选中?是的,如果您继续使用ng更改,而不是型号,则使用品牌阵列。让我更新我的答案。更新:Aha,但是您使用了材料设计,并且md复选框不支持
ng checked
指令,对吗?然后,您必须使用
ng型号
,而不是
ng已选中
。不过,让我更新一下答案;)<代码>ng选中也适用于材料设计复选框,我让它工作了!非常感谢您的帮助:-)
<md-checkbox md-no-ink="true" ng-model="selected[$index]" ng-repeat="brand in brands track by $index">
    {{brand}}
</md-checkbox>

Is Samsung selected: {{isSelected('Samsung')}}
$scope.brands = ['Apple','Samsung','Motorolla','Nokia','Micromax','Spice'];
$scope.selected = [];

$scope.isSelected = function(brand) {
    var brandIndex = $scope.brands.indexOf(brand);
    return $scope.selected[brandIndex]
};