如果我有一个使用自定义过滤器的模板:
{{ foo|myfilter }}
有没有办法确保渲染模板的控制器明确包含过滤器myfilter
?
我问,因为我想确保一个模块的导入过滤器不会隐式地将该过滤器提供给其他模块(如果删除了第一个引用,则会中断)。
答案 0 :(得分:1)
在angularjs中,当您注册过滤器时,它实际上最终会成为具有Filter
后缀的服务。
因此,在您的情况下,您可以在控制器中注入myfilterFilter
服务。
app.controller('FooCtrl', function ($filter, myfilterFilter) {
var isSame = ($filter('myfilter') === myfilterFilter);
console.log(isSame);
});