Javascript AngularJS ng已检查不使用模型更新

Javascript AngularJS ng已检查不使用模型更新,javascript,angularjs,Javascript,Angularjs,在我的页面上,我有品牌A和品牌B。单击其中一个,我会显示一个地址类型的过滤列表,然后单击其中一个,然后过滤位置 当我点击品牌A时,我保存一个选中项目的对象,并用品牌B的列表覆盖。当我点击返回品牌A时,位置列表被正确过滤,但是地址类型没有被检查,即使它们存在于数组中 仅供参考,md复选框是一个角度材质复选框 这是我的HTML: <ul > <li id="brandA" ng-click="setBrand(0)" ng-class="{'brandSelected':

在我的页面上,我有品牌A和品牌B。单击其中一个,我会显示一个地址类型的过滤列表,然后单击其中一个,然后过滤位置

当我点击品牌A时,我保存一个选中项目的对象,并用品牌B的列表覆盖。当我点击返回品牌A时,位置列表被正确过滤,但是地址类型没有被检查,即使它们存在于数组中

仅供参考,md复选框是一个角度材质复选框

这是我的HTML:

<ul >
    <li id="brandA" ng-click="setBrand(0)" ng-class="{'brandSelected': brand == 0}">
        </span>Brand A</span>

    </li>

    <li id="brandB" ng-click="setBrand(1)" ng-class="{'brandSelected': brand == 1}">
        </span>Brand B</span>
    </li>
</ul>

<div ng-repeat="item in addressTypes | filter : filterAddressTypeByBrand">
    <md-checkbox class="md-primary" ng-checked="exists(item)" ng-click="toggle(item)" ng-model="item.selected">
    {{ item.desc }}
    </md-checkbox>
</div>
在品牌之间切换时,需要做什么才能选中复选框

更新1


我已将ng model=“item.selected”添加到md复选框中。这似乎奏效了。但是,如果我选中品牌a上的复选框,然后单击品牌B,然后单击品牌a,复选框将保持选中状态。如果我继续并单击品牌B,然后再次单击品牌A,则复选框未选中,但模型中的值设置为true。

抱歉,这是一个角度材质复选框。该复选框上没有
ng model
。这是绑定到ScopeNG模型的正常方法,但仍然不太管用。请参阅上面的更新。能否重新创建一个案例:对不起,这是一个角度材质复选框。该复选框上没有
ng model
。这是绑定到ScopeNG模型的正常方法,但仍然不太管用。请参阅上面的更新。是否可以重新创建案例:
$scope.addressTypesSelected = [];
$scope.addressTypesSelectedBrandA = [];
$scope.addressTypesSelectedBrandB = [];


$scope.toggle = function (item) {
    var idx = $scope.addressTypesSelected.indexOf(item);
    if (idx > -1) $scope.addressTypesSelected.splice(idx, 1);
    else $scope.addressTypesSelected.push(item);
};
$scope.exists = function (item) {
    return $scope.addressTypesSelected.indexOf(item) > -1;
};


$scope.setBrand = function (val) {
    $scope.brand = val;
    $scope.addressTypesSelected = [];

    if ($scope.brand == 1) {
        $scope.addressTypesSelectedBrandB = [];
        $scope.addressTypesSelectedBrandB = angular.copy($scope.addressTypesSelected);

        $scope.addressTypesSelected = angular.copy($scope.addressTypesSelectedBrandA);
    } else {
        $scope.addressTypesSelectedBrandA = [];
        $scope.addressTypesSelectedBrandA = angular.copy($scope.addressTypesSelected);

        $scope.addressTypesSelected = angular.copy($scope.addressTypesSelectedBrandB);
    }

    $scope.filterDealers($scope.dealers);
}