저는 ionic/Angular n00b이고 이것을 수행하는 방법을 고민하는 데 어려움을 겪고 있습니다.각도 내에서 팩토리 방법으로 데이터를 반환하는 방법은 무엇입니까?
angular.module('starter.services', [])
.factory('Calendars', function() {
var calendars;
var success = function(message) {
calendars = message;
return calendars;
};
var error = function(message) {alert("Error: " + message)};
window.plugins.calendar.listCalendars(success,error);
return {
all: function() {
return calendars;
},
get: function(calendarId) {
return calendars[calendarId];
}
}
});
그리고 나는 이런 내 컨트롤러 내 캘린더 검색하기 위해 노력하고있어 :
나는 공장과 같은 정의가 공장 방법을
.controller('CalendarsCtrl', function($scope,Calendars) {
$scope.calendars = Calendars.all();
})
를 호출되고 있지만, 결과를 'success'콜백이 호출 될 때까지는 사용할 수 없으므로 CalendarsCtrl은 항상 정의되지 않습니다.
해결 방법?
편집 - 컨트롤러 내에서 통화를 수정했습니다. 그래도 함수는 성공 콜백 때까지 결과를 반환하지 않는다는 동일한 문제가 남아 있습니다.
'성공'콜백 외부에서'캘린더 '를 정의하지 않는다는 것을 알게되었습니다. 하지만 그렇게 한 후에도 컨트롤러에서 $ scope = Calendars.all()을 사용하여 캘린더를 검색해야합니다. – Blazemonger