首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic v2 -如何知道前端何时完成渲染?

Ionic v2 -如何知道前端何时完成渲染?
EN

Stack Overflow用户
提问于 2017-05-03 01:06:03
回答 1查看 132关注 0票数 0

如何知道前端何时完成渲染?

我的意思是,在你的后端有一个数组,在你的视图上有一个ngFor。

我怎么知道它什么时候结束呢?我想知道,因为我需要在它完成时向下滚动,而目前它在渲染之前会滚动。

下面是演示这个问题的一些代码:https://gist.github.com/mtnoronha/e78eba6b610b71f1e72424ed21722be1

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-05-03 03:00:21

创建一个新的promise,以便在它加载完消息后进行处理,因此您需要滚动到底部,在您的情况下,使用它如下所示:

你的.TS文件

代码语言:javascript
复制
appendRows(newData){
if(!newData || newData.length == 0)
  return;
  this.myNewPromise().then(res =>{
    if(res){
      this.content.scrollToBottom(0);
    }
  })
}

myNewPromise = (): Promise<boolean> =>{
  return new Promise<boolean>(res){
    if(this.messages){
      let newArray = this.messages.concat(newData);
      this.messages = newArray;
      res(true);
    }else{
      this.messages = newData;
      res(false);
    }
  }
}

所以你的scrollToBottom只有在myNewPromise结束的时候才会触发。在您的承诺中,您将解析它并返回一个布尔值,因此如果有新消息,您将调用scrollToBottom

如果您需要以任何一种方式调用它,只需在两个res中都传递一个true,或者在返回myNewPromise时删除if (res)

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43743552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档