3
응용 프로그램의 프로토 타입을 만들고 싶습니다. 데이터를 검색하기 위해 나머지 서비스를 호출하고 싶지 않습니다. 이를 위해 서비스 (캐시)에 내 개체를 만들고 이러한 서비스를 사용하여 개체를 진부하게 표시하려고합니다.CRUD 서비스에서 cacheFactory 사용
서비스에서 CacheFactory를 사용하고 각 crud 연산에 대해 캐시의 객체 배열을 직접 조작합니다. 이제
나는 다음과 같은 코드가 있습니다
캐시 서비스 :
services.factory('TeacherCache', ['$cacheFactory', function ($cacheFactory) {
var cache = $cacheFactory('TeacherCache');
cache.put('teachers', [
{
id: 1,
clientId: 100,
username: '[email protected]',
password: 'mdp',
lastName: 'THETEACHER2',
firstName: 'DE',
secondFirstName: '',
address: '9, ADRESS',
city: 'Paris',
country: 'USA',
zipCode: '7ffd5445020',
email: '[email protected]',
homePhone: '006546546546',
cellPhone: '54415151661',
birthDate: '31/12/1958',
enabled: true,
roles: [
{id: 1, name: 'Teacher'}
],
//---------------------
substitute: false,
schoolClasses: [],
subjects: [],
options: [],
employedDate: '28/08/2013'
}
]);
return cache;
}]);
그리고 내 객체 서비스 :
services.factory('TeacherService', 'TeacherCache', function (TeacherCache) {
return {
errorMessage: '',
create: [...],
get: function (id) {
[...]
},
//Get a list of db objects with query
query: function() {
return TeacherCache.get('teachers');
},
delete: [...]
};
})
;
하지만 난 내 컨트롤러 및 전화 쿼리에 TeacherService를 주입 할 때 :
를var teachers = TeacherService.query();
다음 오류가 있습니다.
Error: Argument 'fn' is not a function, got string
어떻게 해결할 수 있습니까? 고맙습니다 !