如何从指令的控制器调用依赖注入服务的嵌套方法

How do i call nested methods of dependency injected service from a directive's controller?

本文关键字:注入 服务 嵌套 方法 依赖 控制器 指令 调用      更新时间:2024-01-13
function myController($scope,helperService)
  {
   function getFormattedDT() {
      var localDate = "2016-04-04 12:55:55";
      var inputDate = helperService.parsedDate(helperService.formatDate(localDate));
    } 
     getFormattedDT();
   }

我收到错误为"类型错误:helperService.formatDate 不是一个函数"。

(function (myApp)
 {
    myApp.service('helperService',['$http','$q','$sce','miscService', function($http,$q,$sce,'miscService') {
    function formatDate(dateTime) {
        return ....
    }
    function parsedDate(date) {
       return ....
     }
}(angular.module('myApp')

但是如果我将函数保留在 myController 中,那么它运行良好。 如何在注入的角度依赖项中调用嵌套方法。

你的helperService应该返回一个带有方法的对象,如下所示:

(function (myApp)
  {
    myApp.service('helperService'
     ['$http','$q','$sce','miscService',
      function($http,$q,$sce,'miscService') {
        function formatDate(dateTime) {
          return ....
        }
        function parsedDate(date) {
          return ....
        }
        return{
          parsedDate: parsedDate,
          formatDate: formatDate
        }
  }(angular.module('myApp')

angular service注册需要一个返回要使用的对象的方法。