<p ng-repeat="name in names">{{name | cancatSpace}} </p>
app.filter('cancatSpace', function () {
return function (input) {
return input.replace(/\s+/g, '');
};
});
使用上面的代码,如果我的名字是'hello world'
,它应该变成helloworld
,但它没有。我没有看到任何错误。还有什么我错过的吗?我试图在我的过滤器中执行 console.log(input)
它没有任何控制台?
最佳答案
无论您在此处发布什么代码都可以。如果有问题,那将是一些小错误。请查看您的控制台并搜索控制台是否有任何错误。
我已经发布了确切的代码并且它工作正常。您可以运行并测试它。但是,如果您希望我们对其进行调试,请发布您的完整代码。
var myApp = angular.module("myApp", []);
myApp.controller("myCtrl", ['$scope', function($scope) {
$scope.names = ["john doe", "john doe2", "john doe 3", "john doe 5"];
}]);
myApp
.filter('cancatSpace', function () {
return function (input) {
return input.replace(/\s+/g, '');
};
});
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-controller="myCtrl">
<p ng-repeat="name in names">{{name | cancatSpace}}</p>
</body>
</html>
关于javascript - AngularJs 自定义过滤器在我的情况下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38603166/