我有一个ng-change,根据输入到另一个输入的文本更新文本输入 - https://stackoverflow.com/questions/22256174/angularjs-want-to-show-1-x-in-a-text-input-when-the-users-sets-a-value-0
但是,使用ng-change设置的值只能以0.01的步长显示。也就是两位小数。但是由于Chrome没有“修复”浮点舍入错误显示,有时文本输入显示值为0.19999999996。
我认为AngularJS数字过滤器可能有用,但在ng-change中添加它对我不起作用 -
ng-change="v1 = 1 - v2 | number:2"
是否有可能让它发挥作用?......还是有其他一些解决方法?
答案 0 :(得分:3)
您可以在控制器中使用$filter
服务:
$filter('number')(number, fractionSize)
例如:
app.controller('MyCtrl', ['$scope', '$filter',
function MyCtrl($scope, $filter) {
$scope.change = function() {
$scope.v1 = $filter('number')(1 - $scope.v2, 2);
};
}
]);
和
<body ng-controller="MyCtrl">
<input ng-model="v2" ng-change="change()" />
<input ng-model="v1" />
</body>