jgm*_*jgm 6 angularjs angularjs-directive
我试图在AngularJS指令中使用过滤器,但不确定如何做到这一点.从邮件列表上的一些信息看来,您应该能够注入$ filter并使用它,但我不确定如何/在何处调用它.
我的指令目前看起来像这样:
myApp.directive('fancyDisplay', ['$filter', function($filter) {
return {
scope: {
'fancyDisplay': '='
},
template: "<div ng-repeat='datum in fancyDisplay | filter:tagFilter'>{{datum.name}}</div>"
};
}]);
Run Code Online (Sandbox Code Playgroud)
虽然filter:tagFilter不起作用.我该如何过滤指令中的数据?
JSfiddle可在http://jsfiddle.net/VDLqa/4/获得, 并提前感谢任何回复.
bml*_*ite 14
您正在指令(scope: { 'fancyDisplay': '=' })上创建一个新的隔离范围,这意味着您将无法从父范围访问属性.由于tagFilter在父作用域上定义,因此您将无法访问它.
tagFilter作为指令的属性传递:
<div fancy-display="model.data" filter="tagFilter"></div>
Run Code Online (Sandbox Code Playgroud)
并在指令上:
scope: {
fancyDisplay: '=',
tagFilter: '=filter'
},
Run Code Online (Sandbox Code Playgroud)
jsfiddle:http://jsfiddle.net/bmleite/VDLqa/5/
| 归档时间: |
|
| 查看次数: |
32070 次 |
| 最近记录: |