我正在使用服務從服務器使用$http.get()
方法獲取數據。我正在調用服務中的函數,然後從控制器訪問它的變量。但它不是這樣工作的。 該代碼是下面Angular JS - 服務不工作
'use strict';
var mission_vision_mod = angular.module('myApp.mission_vision', ['ngRoute']);
mission_vision_mod.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/mission_vision', {
templateUrl: 'partials/mission_vision/mission_vision.html',
controller: 'mission_visionCtrl'
});
}]);
mission_vision_mod.controller('mission_visionCtrl', ['$scope','getMissionData','$http', function($scope, $http, getMissionData) {
$scope.visiontext = "Here is the content of vision";
getMissionData.getmissiondata();
$scope.missions = getMissionData.missiondata;
$scope.len = $scope.missions.length;
}]);
mission_vision_mod.service('getMissionData', ['$rootScope','$http', function($rootScope, $http){
var missiondata;
function getmissiondata(){
$http.get('m_id.json').success(function(data){
missiondata = data;
});
}
}]);
當我寫在控制器本身的$http.get()
功能,它的工作原理。我是角JS的新手。
但即使更改服務名稱的順序,它也不起作用。我希望我做對了......我把它改爲'['$ scope','$ http','getMissionData', function($ scope,$ http,getMissionData' –
閱讀我的答案的其餘部分。 –