0

我可以在我的控制器上做到这一点(标题),我想知道我是否也可以在我的指令上做到这一点。

可以说我像这样将过滤器注入我的指令......

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

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

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

我知道在指令上我失去了我的 $scope,这可能就是原因。

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

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

4

1 回答 1

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';
于 2013-06-20T23:04:00.773 回答