如何获得通常在Angular表达式中指定的过滤器表达式"| filter1:arg1:arg2 | filter2:arg1"
,如下所示:{{ model | filter1:arg1:arg2 | filter2:arg1 }}
并以编程方式应用它?
我可以使用正则表达式,然后使用$filter(name)(arg1, arg2)
,但我想知道是否有内置方式。
我需要一种方法来过滤<input type="text">
标记在没有影响底层模型时未显示的内容。这类似于excel中的单元格,其值可能为12.3556,但如果指定一个带有2个小数点的数字,则可以呈现12.36。但是,当它被编辑时,它将显示基础的完整值。
所以,我构建了viewFilter
requires
的指令ngModel
,以便我可以执行以下操作:
<input ng-model="data" view-filter="filter1:arg1:arg2 | filter2:arg1" type="text">
感谢。
答案 0 :(得分:1)
您可以选择以下之一,假设此代码位于指令内:
scope.$eval( "data |" + attrs.viewFilter );
另一种可能性是:
$parse( "data | " + attrs.viewFilter )( scope );
$parse
服务的优势在于you can specify locals用于正在解析的表达式。