我想實現它有它的範圍變量控制器被訪問由服務變量被設置是這樣的:服務變量範圍
$scope.sidebar= resourceService.sidebar;
變量側邊欄被調用函數設置在啓動時:
var cb = function (api, data) {
for (var key in data) {
var logoArray = data[key];
service.sidebar[key] = logoArray.map(function (logo) {
logo.img = api + "/" + logo.img;
return logo;
});
}
}
service.requestOnStartup = function (api) {
var defer = $q.defer();
$http.get(config.ApiEndpoint.Base + api).success(function (data) {
if (angular.isObject(data)) {
defer.resolve(cb(api, data));
} else {
$log.error("[ResourceService] Unexpected data from resource backend");
defer.reject(data);
}
}).error(function (msg) {
$log.error("Invalid request");
defer.reject(msg);
});
return defer.promise;
};
當控制到達範圍,服務變量仍然沒有得到解決,並通過其解決的時間,超過範圍的失去控制。我如何使用promise來解決這個問題?
我試過用$ q但沒有運氣。 – Salam
你有沒有試過上面的代碼? –
是的,我確實嘗試過。 – Salam