2015-01-19 3 views
0

Мой код:Angularjs: Как добавить настраиваемый фильтр в директиву?

 angular.module('app.filters').filter('someFilter', function() 
     { 
      //some code here 
     }); 
     angular.module('app.directives').directive('myDirective', function() { 
      //some code... 
      scope: false, 
      controller: ['$scope',function($scope, $filter) { 
       $scope.evaluate = function (attr) { 
        return = $scope.$eval(attr); 
       }; 
      }], 
     }); 

     angular.module('app',['app.directives', 'app.filters']); 

проблема, когда я называю scope.evaluate(attr) функцию по атрибуту, как "'some_val'|someFilter", я получаю [$injector:unpr] Unknown provider: someFilterFilterProvider <- someFilterFilter

в моем HTML это нормально: <html ng-app='app'>...etc

ответ

0

angular.module ('приложение .filters ') и angular.module (' app.directives ') - это два разных модуля, поэтому вам просто нужно использовать «приложение», и оно должно работать.

angular.module ('приложение'). Фильтр() ... angular.module ("приложение"). Директива() ....

+0

но они впрыскивают в основном модуле 'приложение' и что-то вроде {{some_val '| someFilter}} в html отлично работает! и в моей директиве я использую родительскую область, которая знает о фильтрах. И, да, я не могу изменить эту структуру – Polina

Смежные вопросы