正如你將會看到我是AngularJS,JS和web開發中的新成員=)真的很抱歉,但我嘗試了。
我嘗試用AngularJS控制器構建一個巨大的webform(大約200個不同的領域)。我需要從控制器訪問根數據源。 AngularJS團隊要求服務不要僅僅用於存儲數據,但是我想爲加載和保存數據(在服務器上的.json文件中開始)提供服務。
服務:
AppName.factory('MasterData', ['$rootScope', '$http', '$q', '$log',
function($rootScope, $http, $q, $log) {
var responseData;
$http.get('/getdata.php').then(function (response) {
responseData = response.data;
console.log(response.data);
});
return responseData;
}]);
控制器:
AppName.controller('justController', ['$scope', 'MasterData', '$log',
function ($scope, MasterData, $log) {
$scope.data = MasterData.justControllerSectionData;
console.log(MasterData);
}
]);
控制器返回undefined。但是來自服務的console.log返回對象。 我覺得這個問題太簡單了,但我找不到解決方法:( 另外我不能使用像控制器的.getData()這樣的函數來服務,因爲每次任何控制器都會詢問服務器的數據我有AngularJS應用程序中的路線與12-14控制器(完整的網絡形式除以部分),我認爲這是從後端得到數據一次是好的
PS我認爲有承諾的問題,但是當我嘗試使用這樣的代碼:
var defer = $q.defer();
$http.get('/getdata.php').success(function(data){
defer.resolve(data);
});
return defer;
我有決心,有目標,拒絕等而實在無法理解我能做些什麼與它:(
。幫我得到控制:)
形成200場?你可能會好得多使用[流星和autoform](https://atmospherejs.com/aldeed/autoform): '{{> quickForm集合= 「書籍」 ID = 「insertBookForm」 TYPE = 「插入」}}' –