我希望我的$ http響應數據可供控制器使用,以便通過指令(「{{hint}}」)在視圖中顯示JSON數據。但是,雖然在控制器中,我可以從工廠記錄數據,但數據不會以可用方式提供。
當控制器記錄了工廠提供的內容時,它是「未定義」或「不是功能」。從下面的代碼,「不確定」登錄」
請幫助我的權利我的過錯如何清理這件事,這樣才能在控制器使用工廠。獲得數據
控制器:??
var MainCtrl = angular.module('MainCtrl', []);
MainCtrl.controller('Ctrl2', [ "QuizViewServ", '$log', '$scope',
function(QuizViewServ, $log, $scope){
$scope.init = function(){
$scope.hint = "FooBar"; //Testing binding bw Ctrl2 & the view
$log.log(QuizViewServ.getQuizData.quizQz); // <-LOGS AS "UNDEFINED"
}
}]);
廠:
var MainServ = angular.module('MainServ', []);
MainServ.factory('QuizViewServ', ['$http', function($http){
console.log("factory working");
var getQuizData = function(){
$http({
method: 'GET',
url: '/assets/json.json'
}).then(function successCallback(response) {
console.log("inside successgul GET req");
var quizQz;
quizQz = response.data.quizQs;
console.log(quizQz);
}, function errorCallback(response) {
alert("Trouble grabbing requested data.")
});
}
return {
getQuizData : getQuizData
}
}]);
閱讀http://blog.ninja-squad.com/2015/05/28/angularjs-promises/ –
@JBThis是一個偉大的文章。謝謝。 –
....他拼寫「小馬」,壽。 :-/ 哈。 –