vue3 可视化数据大屏开发中,为了让大屏效果更加酷炫,会给大屏增加很多动画,这里也增加wow.js来实现动画效果,但是在实际项目开发中会出现重复触发动画的效果,页面加载后会触发一次动画,请求完接口后又触发了一次动画,这就不是很友好了。
问题
于是经过一段排查,发现只有特定组件存在,并且接口响应稍微慢一点就会触发动画,再仔细查看,是因为页面初始化了动画组件,子组件也初始化了动画组件,当接口响应慢的时候,就会重复触发。
解决办法
只在页面中初始化一次即可,其他组件不再初始化,就不会重复触发了。
import WOW from "wow.js";
mounted() {
var wow = new WOW({
boxClass: "wow",
animateClass: "animated",
offset: 0,
});
wow.init();
},