मैं एक ढांचे के रूप AngularJS का उपयोग कर एक मोबाइल एप्लिकेशन पर काम कर रहा हूँ में इसका इस्तेमाल करते हैं, वर्तमान में मैं एक संरचना इस के समान है:AngularJS ऐप: JSON एक बार से लोड डेटा और कई नियंत्रकों
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'pages/home.html',
controller : 'homeCtrl'
})
.when('/one', {
templateUrl : 'pages/one.html',
controller : 'oneCtrl'
})
.when('/two', {
templateUrl : 'pages/two.html',
controller : 'twoCtrl'
});
}]);
app.controller('homeCtrl', ['$scope', function($scope) {
}]);
app.controller('oneCtrl', ['$scope', function($scope) {
}]);
app.controller('twoCtrl', ['$scope', function($scope) {
}]);
और फिर मैं 'm एक ng-view
साथ सामग्री प्रदर्शित:
<div class="ng-view></div>
चीजें अच्छी तरह से काम कर रहे हैं, लेकिन मैं अनुप्रयोग की सभी सामग्री को भरने के लिए एक JSON फ़ाइल से डेटा लोड करने की जरूरत है। मैं क्या चाहता हूं और एक AJAX कॉल केवल एक बार और फिर मेरे सभी अलग-अलग नियंत्रकों के माध्यम से डेटा पास करें। मेरे पहले प्रयास में, मैंने इसके अंदर $http.get()
के साथ एक सेवा बनाने का विचार किया और इसमें शामिल है कि प्रत्येक नियंत्रक में, लेकिन यह काम नहीं करता है क्योंकि जब भी मैं इंजेक्ट करता हूं और सेवा का उपयोग करता हूं तो यह एक अलग AJAX अनुरोध करता है। चूंकि मैं कोणीय का उपयोग कर नया हूं, मैं सोच रहा हूं कि इसे गड़बड़ किए बिना इसे प्राप्त करने का सबसे अच्छा तरीका या अधिक "कोणीय तरीका" क्या है।
संपादित करें: मैं सेवा है, जो सिर्फ एक सरल $http.get
अनुरोध है की कोड जोड़ रहा:
app.service('Data', ['$http', function($http) {
this.get = function() {
$http.get('data.json')
.success(function(result) {
return result;
})
}
});
आपकी सेवा उदाहरण से लापता है:
अब आप अपने नियंत्रक फ़ाइल और उपयोग में इस निर्भरता को जोड़ सकते हैं कोड, जो यहां देखने के लिए सबसे उपयोगी बात होगी। – seanhodges
@Didier मैं आपको कोड फ़ाइलों को विभिन्न नियंत्रकों में विभाजित करने का सुझाव दूंगा, और इस डेटा लाने के लिए एक सेवा का उपयोग करूंगा। सेवा कोड –