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


  1. 我在一个模块中创建了一个服务,我正在尝试调用该服务进入另一个模块服务。但当我试图调用服务函数时,我会收到一个错误,即方法未定义。示例模块1-服务1,模块2-服务2我想要模块1服务1

<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>

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

您已经将其中一个服务称为body标记的控制器,而不是您定义的控制器。

参见

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

应该是

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

定义一个控制器时,TestCntrl

您需要像这样将模块一的依赖项添加到第二个模块中。让我们假设您想访问testData1testData模块的服务,然后执行相同的操作。

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

最新更新