如何在Angular中的ModalService中注入过滤器?

问题描述 投票:0回答:2

我正在Angular JS(1.x)做我的工作。我正在使用ModalService创建一个模态。现在我想在我的模态中使用一些过滤器。考虑到没有单独的控制器可以使用它。

下面是ModalService.js的代码

angular.module('appServices').service('ModalService', ['$modal',
  function ($modal) {
    this.showModal = function (customModalOptions) {
      return this.show(customModalOptions);
    };

    this.createModalView = function(templateUrl, scopeFields) {
      // bind the data prior to creating the modal overlay
      function MyModalController($scope) {
        angular.forEach(scopeFields, function(value, key) {
          $scope[key] = value;
        });
      }

      MyModalController.$inject = ['$scope'];

]);
angularjs modal-dialog
2个回答
0
投票

我不确定你在这里想要达到什么目标。但是过滤器可以注入服务和指令,如下所示

为此,将名为<filterName>Filter的依赖项注入到controller / service /指令中。例如。使用依赖关系numberFilter注入一个名为number的过滤器。注入的参数是一个函数,它将值格式化为第一个参数,并从第二个参数开始过滤参数。

资料来源:Angularjs docs。


0
投票

只需注入$filter并将其传递给您的过滤器名称

function ($filter, SomeService) {
    let data = SomeService.getData();
    $scope.filteredData = $filter('myFilter')(data);
}

如果这不起作用,请使用$injector

$injector.get('$filter')('myFilter')(data);
© www.soinside.com 2019 - 2024. All rights reserved.