前言
在前端开发过程中,我们经常需要使用 requestAnimationFrame 方法来避免频繁的重绘导致页面抖动的问题。而 Ember.js 框架中,封装了 run 方法来进行任务调度和优化,但是其默认采用的是 setTimeout 方法,不能保证在每一帧中仅执行一次。于是,出现了一个 npm 包 bp-ember-run-raf,它可以让我们在 Ember.js 中使用 requestAnimationFrame 方法,从而达到更好的性能优化效果。
安装
使用 npm 进行安装:
npm install bp-ember-run-raf
使用
在目标文件中引入包
import Ember from 'ember'; import run from 'bp-ember-run-raf';
使用 run 方法
在需要使用 run 方法的地方,如 action 中,将原来的 this.get('window').requestAnimationFrame(this.myAnimation.bind(this)) 代码改为 run.bind(this, this.myAnimation) 即可。
示例代码:
-- -------------------- ---- ------- ------ ------- ------------------------- -------- - ---------------- - -------------- ------------------ -- ------------- - -- ---- ---- -- ------- - - ---
注意事项
- 使用 bp-ember-run-raf 包后,使用 run 方法时需要将回调函数直接传入 run 方法,而不能使用 this.get('window').requestAnimationFrame 方法。
- 使用 run 方法时,需要将 callback 函数绑定至 this 对象。
结论
bp-ember-run-raf 包可以让我们在 Ember.js 中使用 requestAnimationFrame 方法来进行任务调度和优化,从而达到更好的性能优化效果。在使用时,需要注意注意事项。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c84ccdc64669dde4e9f