在AngularJS中使用具有指令的过滤器

前端之家收集整理的这篇文章主要介绍了在AngularJS中使用具有指令的过滤器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在AngularJS指令中使用过滤器,但不确定如何做到这一点.从邮件列表上的一些信息看来,您应该能够注入$filter并使用它,但我不确定如何/在何处调用它.

我的指令目前看起来像这样:

myApp.directive('fancyDisplay',['$filter',function($filter) {
    return {
        scope: {
            'fancyDisplay': '='
        },template: "<div ng-repeat='datum in fancyDisplay | filter:tagFilter'>{{datum.name}}</div>"
    };
}]);

虽然过滤器:tagFilter不起作用.我该如何过滤指令中的数据?

JSfiddle可在http://jsfiddle.net/VDLqa/4/获得提前感谢您的任何回复.

您正在指令上创建一个新的隔离范围(范围:{‘fancyDisplay’:’=’}),这意味着您将无法从父范围访问属性.由于tagFilter是在父作用域上定义的,因此您将无法访问它.

将tagFilter作为指令的属性传递:

<div fancy-display="model.data" filter="tagFilter"></div>

并在指令上:

scope: {
    fancyDisplay: '=',tagFilter: '=filter'
},

jsfiddle:http://jsfiddle.net/bmleite/VDLqa/5/

原文链接:https://www.f2er.com/angularjs/140907.html

猜你在找的Angularjs相关文章