Javascript AngularJS:为小数点创建自定义过滤器
我试图将下面的JS代码转换成可重用的AngularJS过滤器Javascript AngularJS:为小数点创建自定义过滤器,javascript,angularjs,Javascript,Angularjs,我试图将下面的JS代码转换成可重用的AngularJS过滤器 var a = 1.1230000, b = a.toFixed(15).replace(/\.?0+$/, ""); // ==> 1.123 我已经创建了以下代码(AngularJS) 并调用了新的筛选器来访问模块 var myApp = angular.module('myApp', ['fixed']); 但它显示了一个错误:[$injector:modulerr]$injector/modulerr?p0
var a = 1.1230000,
b = a.toFixed(15).replace(/\.?0+$/, ""); // ==> 1.123
我已经创建了以下代码(AngularJS)
并调用了新的筛选器来访问模块
var myApp = angular.module('myApp', ['fixed']);
但它显示了一个错误:[$injector:modulerr]$injector/modulerr?p0=myApp&p1=%5B%24injector%3Amodulerr%5D%20http%3A%2F%2ferrs.angularjs.org%
我是否遗漏了什么,我为任何错误感到抱歉。谢谢你的帮助
更新-添加了您不需要注入已经是模块一部分的组件。myApp.filter('filterToFixed已在模块myApp中。是的,您不能将
过滤器
模块注入myApp
模块。这样更改代码对您有效
var myApp = angular.module('myApp', ['filters']);//inject your filters Module into myApp Module
angular.module('filters', []).filter('fixed', function () { //change module name as filters
return function(input) {
return input.toFixed(15).replace(/0+$/, "");
};
});
解决方案2
根据您的代码,您可以这样更改
var myApp = angular.module('myApp', ['myApp.filters']);//inject myApp.filters into your myApp Module.
剩下的代码工作起来很有魅力
问题应该出在加载中,请检查。干杯。我想您首先需要修复您的筛选代码。您的
return input2
语句需要位于它上面的块中。
var myApp = angular.module('myApp', ['myApp.filters']);//inject myApp.filters into your myApp Module.