기본 CRUD 호출을 수행하는 API는 물론 데이터베이스 모델의 준비 영역 역할을 수행 할 팩토리를 구축하려고합니다. 서비스 또는 팩토리에 데이터를 저장하여 데이터에 액세스 할 수 있고 API 메서드를 유지하여 컨트롤러에서 이와 같은 작업을 수행 할 수 있기를 원합니다.
$scope.folders = Folders.data(); // for a factory
$scope.folders = Folders.data; // for a Service
Folders.create({name: "My Stuff, $oid: { 5fwewe033333 }, user_id: CurrentUser.id"});
현재 컨트롤러에서 이와 같은 폴더 팩터 리를 사용하고 있습니다.
Folders.foldersData().success(function(data, status) {
$scope.folder = data;
})
.error(function(data,status) {
Flash.warning("There was a problem fetching your data");
});
는 난 그냥 컨트롤러에서 해결 약속을 할 수 있습니다 알고 있지만 내가 맡은 프로젝트의 크기에, 나는 밖으로가 갖는, 서비스의 폴더 모델에 액세스 할 수있는 아이디어를 좋아한다 변경을 할 때마다 데이터를 동기화하기 위해 서버 호출을합니다.
angular.module('cmsApp')
.factory('Folders', function($http, $q){
var folders = {};
var messageWarn = "Upload Retrival Failed.";
return {
get: function(){
var defered = $q.defer();
$http.get('/folders').success(function (data, status) {
defered.resolve(data);
})
.error(function (data, status) {
defered.reject();
Flash.warning(message_warn);
});
defered.promise.then(function (promise)
folders = promise;
});
},
data: function(){
return folders;
},
}
});
내 문제는 Folders.get()을 호출 한 후에도 폴더 개체를 유지할 수 없다는 것입니다. Folders.data()를 빈 객체로 호출하면 항상 돌아옵니다.
매번 서버를 때리는 데 의존하지 않는 폴더 모델의 최신 표현으로이 데이터를 공장에 보관하는 방법이 있습니까?
Rails 4 API에서 각도 1.2.3을 실행 중입니다.
네, 예를 들어 드리겠습니다. 당신이 혼동하는 주된 이유는 공장이 서비스를 만들고 나서 완료된다는 것입니다. 말하면 공장에 액세스 할 수 없습니다. 오직 서비스. – m59