2016-08-30 91 views
0

我有兩個過濾器需要應用在控制器的內容上。第一個過濾器將是小寫字母,另一個是自定義過濾器。

我試圖使用它像如下:

$filter('lowercase','cardShortNameRegex')(currentProductObject.shortName); 

只有小寫過濾得到應用而不是其他的。

如果有人有任何解決方案或建議請幫忙。

回答

1

只要一個接一個地稱呼它。

var lowerCasedName = $filter('lowercase')(currentProductObject.shortName); 
var result = $filter('cardShortNameRegex')(lowerCasedName); 

您也可以定義自己的功能是這樣的:

var result = multipleFilters('lowercase', 'cardShortNameRegex')(currentProductObject.shortName); 

function multipleFilters() { 
    var filters = arguments; 
    return function (input) { 
    angular.forEach(filters, function (filterName) { 
     input = $filter(filterName)(input); 
    }); 
    return input; 
    } 
} 

其接受多個過濾器名稱和應用它們。

+0

有沒有其他方法可用?如果有任何單一的解決方案,這將是一件好事,因爲我必須在很多地方爲不同的情況做好準備。 – Toretto

+0

@Toretto我用另一個可能的解決方案更新了我的答案 –

相關問題