AngularJS修剪模型中的前导零,而视图/输入值仍保持不变?

Mah*_*kal 9 angularjs

对于具有类型编号的输入元素,当输入的数字具有前导零(如"0000123456")时,模型将更新为123456,而视图/输入仍保持相同0000123456.

但是,如果我从数字切换到文本,一切都按预期工作.我想有号码,因为它会显示移动设备的数字键盘.

<input type="number" ng-model="vm.orderid"/>
{{vm.orderid}}
Run Code Online (Sandbox Code Playgroud)

PLUNKR

Mah*_*kal 5

如@Steve所述,我使用了一个自定义指令my-decimals,当输入失去焦点时,该指令将视图值与模型匹配。

<input type="number" my-decimals ng-model="vm.orderid"/>

angular.directive('myDecimals', function() {
    return {
        require: 'ngModel',
        link: function(scope, elm, attrs, ctrl) {

            elm.blur(function() {
                var val = ctrl.$viewValue;
                ctrl.$setViewValue(val * 1);
                ctrl.$render();
            });
        }

    }
});
Run Code Online (Sandbox Code Playgroud)