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

标签 javascript ember.js ember-cli

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

相关文章:

javascript - Google Custom Search Engine 是如何解决 XSS 的?

ember.js - 如何保持特定 View ember 呈现?

javascript - 如何在 ember js 插件的 app.css 中添加 css 样式

ember.js - ember cli 和 livereload : how to get it to work?

javascript - #ember-power-select : changing the value in one power-select box , 它交替更改另一个电源选择框的相同值

javascript - Jquery 停止重复我的代码之后?

javascript - 在 Javascript 对象中移动键/值

javascript - 将参数传递给 View ,然后传递给 Ember.js 中的助手

javascript - 类似的 jQuery 函数不会多次触发 keyup()

javascript - ember-cli 在哪里放置图像