// 数据
var data = [{
tags : '测试1,测试2,测试3'
}, {
tags : '测试4,测试5,测试6'
}];
// 拆分字符串过滤函数
template.defaults.imports.splitFilter = function(str) {
return str.split(',');
}
需求是渲染时将data.tags通过过滤函数拆分为数组,在each中遍历。
原本以为each组合过滤函数这样写:
<!-- 外层循环data数组 -->
{{each data}}
<!-- 内层再循环value.tags数组(将tags字符串通过过滤函数转为数组) -->
{{each $value.tags | splitFilter}}
<span>{{$value}}</span>
{{/each}}
{{/each}}
结果根本不会调用splitFilter函数。
最后换成使用$imports调用函数成功
{{each $imports.splitFilter($value.tags)}}
<!-- 外层循环data数组 -->
{{each data}}
<!-- 内层再循环value.tags数组(将tags字符串通过过滤函数转为数组) -->
{{each $imports.splitFilter($value.tags)}}
<span>{{$value}}</span>
{{/each}}
{{/each}}