簡體   English   中英

AngularJS 中的自定義過濾器

[英]Custom filter in 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

我還嘗試將此過濾器注入負責該模板的 controller 中,但沒有運氣。 我錯過了什么嗎?

您可以將過濾器構建為 angular 模塊,然后將該模塊添加為應用程序依賴項,或者僅在應用程序聲明中添加過濾器。

// 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;
}});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM