我有一个指令将复选框绑定的模型设置为数字而不是布尔值:
module.directive('sjNumber', function() {
return {
require: 'ngModel',
link: function($scope, $element, $attribute, $modelController) {
$modelController.$parsers.push(function(viewValue) {
return viewValue + 0;
});
}
};
});
但是,当我使用它时,模型总是设置为true
或false
更改复选框值之后,而不是1
或0
。
我做了一些挖掘,发现在我的函数运行后插入了 Angular 的内置复选框解析器link
,此时$parsers
数组为空。checkboxInputType
( AngularJS v1.2.0-rc.3 的第 14945 行添加了内置解析器。)
我怎样才能使这项工作?