我正在使用 ember.js(版本 3.7)
,现在我有点困惑了。现在,我正在努力优化我们应用程序的代码部分。首先,我会尝试找出组件中重新渲染的内容是什么?进入这个话题后,我对它感到困惑。
在 ember 他们使用了 didRender()触发重新渲染事物的方法(jQuery DOM 操作、Asnyc 函数加载等...)。现在我对在 ember 中重新渲染不太了解。有人可以向我详细解释重新渲染吗?如果您有任何关于在 ember 中重新渲染的资源,请分享。
提前致谢。
最佳答案
didRender
Hook 与触发重新渲染
无关。它被描述为您分享链接的指南:
You can leverage this hook to perform post-processing on the DOM of a component after it's been updated.
您可能想对大小、焦点或滚动做些事情。为此,您需要等到渲染完成。因为否则您无法获得组件的确切值和位置。对于这些情况,您可以使用 didRender
Hook 。
例如: - 如果你想聚焦 View 的某些部分 - 如果你想 ScrollView 的某些部分 - 如果你想调整一些组件的大小 - 如果您想调用尝试访问 DOM 元素的第三方库。 等等。你可以使用这个钩子(Hook)。
当然,如果你做了一些影响组件值的事情,它会触发重新渲染。但这是您通常不应该做的事情。
让我们再澄清一下重新渲染
:
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
意思是,如果组件的参数或属性发生变化,它会开始重新渲染自己。例如,考虑一个显示人物属性的 person-card
组件。如{{person-card person=model.person}}
。每当 person 参数更改时,组件将重新渲染。
关于javascript - Ember : What is the meaning of re-render in ember js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56142662/