Javascript 如何设置我的<;输入类型=";复选框“&燃气轮机;解析器指令’;你不能覆盖它吗?

Javascript 如何设置我的<;输入类型=";复选框“&燃气轮机;解析器指令’;你不能覆盖它吗?,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我有一个指令将复选框绑定的模型设置为一个数字,而不是bool: module.directive('sjNumber', function() { return { require: 'ngModel', link: function($scope, $element, $attribute, $modelController) { $modelController.$parsers.push(function(viewValue)

我有一个指令将复选框绑定的模型设置为一个数字,而不是bool:

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
数组是空的。(内置解析器添加在AngularJS v1.2.0-rc.3第14945行的
复选框inputType
中。)


我怎样才能做到这一点呢?

你不能只使用
ng真值
ng假值
属性吗?像
?请参阅文档中的
input[checkbox]
,显然它只会使用字符串值。我可以试着用一个指令再次将它们转换成数字,但结果却是一个完整的循环