如何在角度js中将服务从一个模块调用到另一个模块服务

时间:2015-12-10 08:59:18

标签: javascript angularjs

  1. 我在一个模块中创建了一个服务,我正在尝试调用该服务 进入另一个模块服务。但是当我尝试调用服务函数时,我得到一个错误,因为方法未定义。 示例模块1 - 服务1,模块2 - 服务2我想要模块1服务1
  2. 
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js"></script>
    <script>
    angular.module("testData", []).service("TestService", function () {
    
        return {
        
            message: "hai"
        }
    })
    
    angular.module("testdata1", ["testData"]).service("TestService1", function (TestService) {
    
      
        return {
    
            message: TestService.message
        }
    })
    
    
    angular.module("testData").controller("TestCntrl", function (TestService1,$scope) {
    
        $scope.test= TestService1.message
    
    })
    
    </script>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="/Scripts/angular.js"></script>
        <script src="../App/DataAccess/Model.js"></script>
        <script src="../App/DataAccess/Ser.js"></script>
    </head>
    <body ng-app="testdata1" ng-controller="TestService">
    
    </body>
    </html>
    &#13;
    &#13;
    &#13;

    要在模块2服务2中访问的功能。

2 个答案:

答案 0 :(得分:1)

您已将其中一项服务称为身体标记的控制器,而不是您定义的控制器。

<body ng-app="testdata1" ng-controller="TestService">

应该是

<body ng-app="testdata1" ng-controller="TestCntrl">

在定义一个控制器时, TestCntrl

答案 1 :(得分:0)

您需要将模块一的依赖项添加到第二个模块中。假设您想要访问testDatatestData1模块的服务,请遵循相同的规则。

angular.module("testData1",['testData']);