मेरे पास 3 मॉड्यूल मेरे में AngularJS ऐप, उदा। main
, home
और product
। main
मॉड्यूल home
और निर्भरता (ng.module('main', ['home', 'product'])
), जबकि home
और product
मॉड्यूल किसी भी निर्भरता (ng.module('product', [])
ng.module('phome', [])
) होने नहीं कर रहे हैं, अभी भी product
मॉड्यूल home
मॉड्यूल सेवा का उपयोग कर सकते के रूप में product
मॉड्यूल आ रही हैं? क्यूं कर???तीसरे मॉड्यूल पर निर्भर होने पर जोड़े जाने पर 2 अलग-अलग मॉड्यूल एक दूसरे तक क्यों पहुंच सकते हैं?
नीचे मेरे आवेदन का नमूना कोड है, जिसमें एक ही परिदृश्य और एक ही समस्या है। और यह JSfiddle Link है।
<!DOCTYPE html>
<html ng-app="main">
<body ng-controller="MainController as mainController">
{{mainController.name}}
<script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script>
(function (ng) {
var homeModule = ng.module('home', []);
homeModule.service("HomeService", [function() {
var homeService = this;
homeService.getName = function() {
return "Home Service";
}
}]);
var productModule = ng.module('product', []);
productModule.service("ProductService", ["HomeService", function (HomeService) {
var productService = this;
productService.getName = function() {
return "Product Service - " + HomeService.getName();
};
}]);
var mainModule = ng.module('main', ['home', 'product']);
mainModule.controller("MainController", ['ProductService', function (ProductService) {
var mainController = this;
mainController.name = ProductService.getName();
}]);
})(angular);
</script>
</body>
</html>
इसका कारण यह है घर सेवा एक वैश्विक चर जो अनुप्रयोग के भीतर कहीं से भी एक्सेस किया जा सकता है के रूप में परिभाषित हो जाता है। अधिक जानकारी के लिए http://tutorials.jenkov.com/angularjs/dependency-injection.html पढ़ने का प्रयास करें। – vipulsharma