2015-12-10 2 views
0
  1. У меня есть служба в одном модуле, и я пытаюсь позвонить этой службе в другую услугу модуля. Но когда я пытаюсь позвонить сервис-функция, то я получаю сообщение об ошибке, поскольку метод не определен. Пример модуля 1-Service 1, модуль 2-служба 2 Я хочу, чтобы модуль 1 обслуживание 1

как вызвать услугу из одного модуля в другой сервис модуля в angualr js

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

ответ

0

Вам нужно чтобы добавить зависимость модуля 1 во второй модуль, подобный этому. давайте предположим, что вы хотите получить доступ к услугам модуля testData в testData1, а затем выполните следующие действия.

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

Я добавил зависимость. Но все еще не работает – abdul

+0

любая ошибка генерации? – ngLover

1

Вы указали одну из своих услуг в качестве контроллера для тега тела, а не на контроллер, который вы определили.

См

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

Должно быть

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

Как вы определили один контроллер, TestCntrl.

+0

Я исправил его, но все же. получить следующий вопрос issueReferenceError: TestService не определен на новом (HtmlPage.html: 34) на Object.invoke (angular.js: 4219) на extend.instance (angular.js: 8516) в angular.js : 7762 на Foreach (angular.js: 334) в nodeLinkFn (angular.js: 7761) на compositeLinkFn (angular.js: 7140) на publicLinkFn (angular.js: 7019) в angular.js: 1460 at scope. $ eval (angular.js: 14570) – abdul

+0

Вот пример работы в jsfiddle. https://jsfiddle.net/b7njLtza/ – sjdweb

+0

спасибо ..работал – abdul

Смежные вопросы