Я использую услугу для $ http.get моего объекта, а затем передаю его моему контроллеру.Не удается передать объект от углового обслуживания до контроллера
Когда я загружаю веб-страницу и использую инструменты для разработчиков F12, пользовательский сервис (getService) отлично работает, чтобы получить объект данных и сохранить его в переменной responseObj.Announcement. Я могу использовать Chrome для просмотра области и просмотра моего объекта. Я не могу передать этот объект в мой контроллер
- Есть ли проблема с одним из моих методов в любой службе или контроллер?
Я был вверх и вниз stackOverflow ищет похожие ситуации, но я в тупике.
GetService
class getService {
static $inject = ["$http", "$window"]
baseUrl: string = ConfigB.BaseAPIUrl;
urlObject = {
Announcement: "Announcement",
};
responseObj = {
Announcement :[],
};
constructor(
public $http: any,
private $window: any
) { }
// method utilizing generic promise object for announcements controller
public getAnnouncements()
{
this.getRequest(this.baseUrl + this.urlObject.Announcement, "Announcement");
}
public passData()
{
return this.responseObj.Announcement;
}
//Generic angular $http promise object
private getRequest(url: string, responseType:string)
{
this.$http.get(url)
.then((response) =>
{
this.responseObj[responseType] = response.data;
},
function (data) {
this.$window.alert("Error: " + data);
});
}
}
angular.module('App').service("getService", getService);
**My Controller:**
<pre><code>
class announcementController {
static $inject = ["$rootScope", "$scope", "$window", "getService" ];
Announcement: any = [
{ Message: "test" }
];
constructor(
public $rootScope: any,
public $scope: any,
private $window: any,
private getService: any)
{
}
public getAnnouncements() {
this.getService.getAnnouncements()
}
public setAnnouncements() {
this.Announcement = this.getService.passData();
}
init() {
this.getAnnouncements();
this.setAnnouncements();
}
}
angular.module('App').controller("announcementController", announcementController);
Это не выглядит, как вы ждете GetRequest(), чтобы закончить перед запуском GetService. PassData(). –