Ember : ember js中re-render是什么意思?

Ember : What is the meaning of re-render in ember js?

我正在使用 ember.js(version 3.7),现在我有点糊涂了。现在,我正在努力优化我们应用程序的代码部分。首先,我会尝试找出组件中重新渲染的内容是什么?进入这个话题后,我对它感到困惑。

在 ember 他们使用 didRender() 方法触发重新渲染 (jQuery DOM 操作,Asnyc 函数加载等。 .)。现在我对 ember 中的重新渲染不太了解。有人可以向我详细解释重新渲染吗?并且,如果您有任何关于重新渲染的资源,请分享 ember。

提前致谢。

didRender hook 与 triggering a re-render 无关。它被描述为您分享 link 的指南:

You can leverage this hook to perform post-processing on the DOM of a component after it's been updated.

您可能想对大小、焦点或滚动做些事情。为此,您需要等到渲染完成。因为否则您无法获得组件的确切值和位置。对于这些情况,您可以使用 didRender 钩子。

例如: - 如果你想聚焦视图的某些部分 - 如果你想滚动视图的某些部分 - 如果你想调整一些组件的大小 - 如果你想调用一个试图访问 DOM 元素的 third-party 库。 等。你可以使用这个钩子。

当然,如果您对组件的值进行了一些操作,它可能会触发 re-render。但这是你通常不应该做的事情。


让我们再澄清一下re-render

As components are rendered, re-rendered and finally removed, Ember provides lifecycle hooks that allow you to run code at specific times in a component's life.

(Ref)

指南介绍了 3 个主要阶段 (Ref):

  • 初始渲染
  • Re-render
  • 组件销毁

在这里Re-render的意思是,如果一个参数或者一个组件的属性改变了,它就开始re-render它自己。例如,考虑显示一个人的属性的 person-card 组件。比如{{person-card person=model.person}}。每当 person 参数更改时,组件将 re-render.