在ng-repeat中动态应用格式过滤器

在ng-repeat中动态应用格式过滤器,第1张

在ng-repeat中动态应用格式过滤器

|
是角构造,找到一个定义的过滤器具有该名称和它适用于左侧的值。我认为您需要做的是创建一个以过滤器 名称
作为参数的过滤器,然后调用适当的过滤器(jsfiddle)(改编自M59的代码):

HTML:

<div ng-repeat="row in list">    {{ row.value | picker:row.formatter }}</div>

Javascript:

app.filter('picker', function($filter) {  return function(value, filterName) {    return $filter(filterName)(value);  };});

感谢@karlgold的评论,这是一个支持参数的版本。第一个示例

add
直接使用过滤器将数字添加到现有数字,第二个示例使用过滤器按字符串
useFilter
选择
add
过滤器并将参数传递给它(jsfiddle.):

HTML:

<p>2 + 3 + 5 = {{ 2 | add:3:5 }}</p><p>7 + 9 + 11 = {{ 7 | useFilter:'add':9:11 }}</p>

Javascript:

app.filter('useFilter', function($filter) {    return function() {        var filterName = [].splice.call(arguments, 1, 1)[0];        return $filter(filterName).apply(null, arguments);    };});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存