我正在使用ng-currency库 - http://aguirrel.github.io/ng-currency/ - 来显示项目中的货币值。 但是,这并不是我所需要的,货币价值
我在这里分配了项目 - https://github.com/tetsujin1979/ng-currency/blob/master/src/ng-currency.js 我从正则表达式中删除减号以阻止用户输入负值,并在显示之前编辑on blur方法以舍入数字,如下所示,但是当舍入值大于$ 999,999.00时,模型未获得指定值
element.on("blur", function () {
var roundedValue = Math.round(ngModel.$modelValue);
if(roundedValue > 999999999) {
roundedValue = 999999999;
}
ngModel.$setViewValue(roundedValue);
element.val($filter('currency')(roundedValue, currencySymbol()));
ngModel.$render();
});
我在这里创建了一个plunkr来证明这一点:http://plnkr.co/Y7WkJtjlDZF3pXo84MRs
答案 0 :(得分:1)
从你的plunker我看到你正在混合版本:
来自https://github.com/aguirrel/ng-currency#versions
版本
如果您使用角度1.2.x,请使用0.7.x版本。如果你使用角度 1.3.x或更高版本只需使用0.8.x版本。
请使用https://rawgit.com/aguirrel/ng-currency/v0.8.x/src/ng-currency.js代替上传的ng-currency.js。
<script src="https://rawgit.com/aguirrel/ng-currency/v0.8.x/src/ng-currency.js"></script>
你可以看到它在使用中(请添加http://因为我的声誉不超过10)plnkr.co/edit/lH9mKrnRZZZAjU27bFqK
答案 1 :(得分:0)
将快速自定义过滤器放在一起并删除了ngCurrency库。
<input type="number" maxlength="12" ng-currency ng-model="myValue" />
{{myValue | myCurrency:myValue | currency:'$':0}}
<input type="number" maxlength="12" ng-currency ng-model="myValue" />
{{myValue | myCurrency:myValue | currency:'$':0}}
currencyModule.filter('myCurrency', function () {
return function (myValue) {
if (myValue > 999999){
myValue = 999999;
}
else if(myValue < 0){
myValue = 0;
}
return myValue;
};
});