我尝试构建指令,在该指令中我想在按元素单击时更改模型。某种复选框......这是我的代码
mainApp.directive('subCategory', function(){
return{
restrict: 'A',
scope: {
model: '=?ngModel'
},
link : function(scope, element){
scope.model = true;
element.click(function () {
if (element.hasClass('active')) {
element.removeClass('active');
scope.model = false;
} else {
element.addClass('active');
scope.model = true;
}
});
}
}
});
比我尝试通过观察包含所有复选框的 ng-model 属性的对象来 $watch 父控制器中的此复选框组。
mainApp.controller('Filter',['$scope', function ($scope) {
$scope.data = {}
$scope.$watchCollection('data', function(newNames, oldNames) {
console.log('changed');
});
}]);
当我通过它定义属性scope.model = true;
并且观看作品时,但是当我scope.model
在某些原因下单击更改时它不会影响data
对象并且观看不起作用。有人能告诉我为什么吗?
谢谢!