javascript - AngularJS 中的自定义过滤器
问题描述
我刚刚制作了一个简单的自定义过滤器来从字符串中删除一些字符
angular.module('myApp.filters').filter('myFilter', function() {
return function(string) {
string = string.replace('[', '');
string = string.replace(']', '');
string = string.replace('","', ', ');
string = string.replace('"', '');
return string;
}
});
然后在模板中
<td>[[res[0].names | myFilter]]</td>
但我不断收到此错误:
Unknown provider: myFilterFilterProvider <- myFilterFilter
我还尝试将此过滤器注入负责该模板的控制器中,但没有运气。我错过了什么吗?
解决方案
您可以将过滤器构建为角度模块,然后将该模块添加为应用程序依赖项,或者只是在应用程序声明中添加过滤器。
// create a module
angular.module('myApp.filters', []).filter('myFilter', function() {
return function(string) {
string = string.replace('[', '');
string = string.replace(']', '');
string = string.replace('","', ', ');
string = string.replace('"', '');
return string;
}
});
// add the module as a dependency
angular.module('myApp', ['myApp.filters']);
或者
// in the application declaration
angular.module('myApp', []).filter('myFilter', function() {
return function(string) {
string = string.replace('[', '');
string = string.replace(']', '');
string = string.replace('","', ', ');
string = string.replace('"', '');
return string;
}});
推荐阅读
- swift - SwiftUI:如何在 TextEditor 中禁用“智能引号”
- javascript - 如何在 node js 上实现 csurf 和 react js?
- node.js - 如何使用 Axios 从反应中发送数据并使用快递中的请求正文?
- c# - 从 if 语句 C# 执行 else 语句
- c++ - 模板函数可以访问不完整类型的字段吗?这是有效的吗?
- html - 在创建表单时设置 setCustomValidity(在 oninput 之前)
- javascript - 如何使用 ajax URL 获取网页内容
- javascript - 如何在 WebStorm 中调试源 jsx 代码
- sql - 如何使用谓词检查春季数据jpa @Query中的空集合
- python - 如何提供自动完成提示,类似于 dataclass 和 sqlalchemy DeclarativeMeta?