角度2等待直到DOM渲染砌体库

时间:2017-04-04 06:55:19

标签: javascript angular

您好我想使用角度为2的Masonry jquery插件。 我通过服务加载数据。

  loadAllNews (){
    this.loadingNews = true;
    this._dataService.getNews(1).first().subscribe(data=>{
      this.newsArray = data;
      this.showMoreNewsButton = false;
      this.updateColumnHeight();
    });
  }

比我想运行函数updateColumnHeight()来运行Masonry计算。 在函数内部我运行setTimeout来等待DOM

private updateColumnHeight() {

setTimeout(()=>{
  let container = this._nativeElem.nativeElement.querySelector('.js-container');

  let msnry = new Masonry( container, {
    itemSelector: '.js-column-card',
    gutter: 10,

  });
  this.loadingNews = false;

},100)

有没有办法等待DOM准备好或检查它我尝试使用ngAfterViewChecked但是它会永远运行,我最终会没有内存问题。

0 个答案:

没有答案