将过滤器值分配给指令中的变量

时间:2013-06-19 22:09:36

标签: javascript angularjs

我能够在我的控制器上执行此操作(标题),我想知道我是否也可以在我的指令上执行此操作。

让我们说我将过滤器注入我的指令......

app.directive('ngDirective', 
    ['$compile','$filter',
    function ($compile, $filter) {
        'use strict';

在链接功能中我有以下内容。

var filter = $filter('i18n');
var requiredMessage = filter('is_required');

我知道在指令中我失去了我的范围,这可能是原因。

编辑:这是我的代码预览http://plnkr.co/edit/u1L9SHdAvZnvEqwVBeJg

的plunker

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

如果您想使用某些过滤器,则必须加载它。

以下是在指令模块中定义过滤器和加载的示例。

http://plnkr.co/edit/61X6i32By8PA6W7BLh52?p=preview

angular.module('myfilters', []).
filter('i18n', function() {
  return function() { return 'my message'; };
});

angular.module('myapp', ['myfilters']).
  directive('ngTest', function($compile, $filter) {
    'use strict';