:私は私のセレクタにgetNewsFeed()からの回答をロード私はngAfterViewInit
ngAfterViewInit(){
console.log(document.getElementsByClassName("overlayWrapper"));
}
でgetElementByClassNameを実行
ngOnInit(){
this.getNewsFeed();
}
:
getNewsFeed(){
this.homeService.getNewsFeed()
.subscribe(res =>
this.news_block = res,
error=>this.news_feed_error=true,
()=> this.news_feed_error=false
);
getNewsfeedから実行されます
bservableはデータasyncを返し、.subscribe()
に渡されたコールバックが実行されます。
データが到着するとき、またはデータが到着することは保証されません。 getNewsFeed()
が結果を返すことを保証できるAngularコールバックはありません。
ない最適けどimprovmentする必要があります:
getNewsFeed(){
this.homeService.getNewsFeed()
.subscribe(res => {
this.news_block = res;
setTimeout(() => checkElement();
},
error=>this.news_feed_error=true,
()=> this.news_feed_error=false
);
}
checkElement(){
console.log(document.getElementsByClassName("overlayWrapper"));
}
少なくともgetElementsByClassName()
が呼び出されたときにHTMLが実際に受信されている確保ますこの方法です。
実際に行っていることを示すコードを表示してください。理想的には、再現を可能にするプランナー。 –
Iveが問題を発見しました.HTMLはアクセスしようとする前に適切に初期化されていませんでした。まず、ngOnInitで関数を実行しました。私はngAfterViewInit()を使用しようとしましたが、それは私の問題を解決しませんでした。提案はありますか? –
実際のコードを見ずに述べたように、提案するのは難しいです。 –