簡體   English   中英

如何從指令的控制器調用依賴項注入服務的嵌套方法?

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

function myController($scope,helperService)
  {

   function getFormattedDT() {
      var localDate = "2016-04-04 12:55:55";
      var inputDate = helperService.parsedDate(helperService.formatDate(localDate));
    } 
     getFormattedDT();
   }

我收到“ TypeError: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中,那么它將很好地工作。 我如何在angular的注入依賴項中調用嵌套方法。

您的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注冊需要一種返回要使用的對象的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM