【发布时间】:2014-10-30 15:01:50
【问题描述】:
我是一个 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 始终未定义。
如何解决?
编辑 - 我已经更正了控制器中的调用。但同样的问题仍然存在,该函数在成功回调之前不会返回结果。
【问题讨论】:
-
我注意到您没有在
success回调之外定义calendars。但即使你这样做了,你也应该使用$scope = Calendars.all()检索控制器中的日历
标签: javascript angularjs factory