【发布时间】:2018-06-02 10:20:39
【问题描述】:
我有一个带有如下模板的指令:
<span> {{foo.bar}} {{foo.car}} {{foo.dar}}</span>
在多个位置调用。叫法是:
<foo-dir foo="fooData"></foo-dir>
有什么方法可以在 html 指令标签而不是指令本身中应用自定义过滤器?
我希望存在这样的东西:
ng-innertext-filter="filterName:params"
但这可能是一厢情愿。
如果这不可能,有没有办法在指令控制器中使用过滤器,而不必在使用指令的任何地方都应用它?
谢谢。
编辑:过滤代码:
import angular from 'angular';
function someFilter() {
return (input, filterParam) => {
if (input && filterParam && input.length)
if(filterParam)
return input.filterLogic();
return input;
}
}
过滤器在模板化字符串{{somedata | someFilter}} 中工作正常。但我正在寻找一种将过滤器应用于指令标签本身的方法。
【问题讨论】:
-
不确定是否理解您的问题。您能否提供当前过滤器的工作示例并显示您期望的结果?
-
是的,我正在尝试找到一种方法来对来自 html 标记中的指令的结果字符串使用过滤器。当前过滤器是:``` import angular from 'angular'; function SomeFilter() { return (input, filterParam) => { if (input && filterParam && input.length) { if(filterParam) { return input.filterLogic(); } } 返回输入;; } } 导出默认 angular.module('filters.someFilter', []) .filter('someFilter', SomeFilter) .name; ```
-
过滤器在模板化
{{stringData | someFilter:param}}时有效,但我希望能够将过滤器应用于指令的结果字符串,而不是将其包含在指令本身中,因此它可以仅在特定区域使用 -
请使用此代码更新您的问题。在 cmets 中不太可读;)
-
编辑了原帖。对此感到抱歉。
标签: angularjs filter directive