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.
我正在使用 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.