我有一个过滤器linkifyStuff,其中需要使用其他过滤器处理一些变量。我无法弄清楚从另一个调用一个过滤器的语法。
我了解过滤器链接-这不是我想要的。我想将过滤器应用于linkifyStuff过滤器中的局部变量,而不是其输入或输出。
我希望像下面这样工作,但是$ filter(’filtername’)显然不是正确的语法。
module.filter('sanitizeStuff', function() { // ... }) module.filter('prettifyStuff', function() { // ... }) module.filter('linkifyStuff', function($filter) { return function(text) { // ... // ... return $filter('sanitizeStuff')(foo) + ' whatever ' + $filter('prettifyStuff')(bar) } })
我可以为sanitizeStuff和sanitizeStuff编写一个普通的js函数,然后从这些过滤器中调用该函数,但这似乎是错误的。关于如何以角度的方式做任何建议?
谢谢。
将过滤器注入linkifyStuff使用<filterName>Filter语法。像这样:
linkifyStuff
<filterName>Filter
app.filter('linkifyStuff', function(sanitizeStuffFilter,prettifyStuffFilter) { return function(text) { return sanitizeStuffFilter(text) + ' whatever ' + prettifyStuffFilter(text); } });
演示