setTimeout 不适用于 vue.js 应用程序

setTimeout not working on vue.js application

我有一个函数在页面加载 1 秒后启动,在本地开发阶段它可以工作,但是当我构建我的应用程序并将其放在服务器上时,超时不再起作用(在 chrome 它只有在接受 cookie 的横幅并重新加载页面后才能工作),而如果我进入隐身模式,它就不起作用。

这是超时代码:

window.setTimeout(() => {       
this.brake();     
},1000);

这是一个 vue.js 应用程序。

我尝试通过插入这段代码来修改函数:

document.addEventListener('DOMContentLoaded', function() {
   window.setTimeout(() => {
      this.brake();
    },1000);
}, false);

但是还是不行。

测试站点的link为:https://new.carbobrake.com/

页面加载完成后,磁盘应该会自行停止,但这并没有发生。

----编辑----

这是我的代码:

<div id="animation-container">
      <img id="fixed-canvas-container" :src="this.homeImages[0]" alt="" />
      <img id="scroll-canvas-container" :src="this.animationImages[0]" alt="" />
      
      
      <div id="step0">
      // other code
      </div>
</div>

Javascript:

methods: {
  brake() {
        this.canvasContainer = document.getElementById("fixed-canvas-container");
        this.canvasContainer.src = this.homeImages[1];
        setTimeout(() => {
          document.body.style.overflowY = "visible";
          this.setImageMargin();
          document.getElementById("scroll-canvas-container").style.display =
            "block";

          var step0 = document.getElementById("step0");

          TweenMax.fromTo(
            step0,
            0.5,
            {
              display: "none",
              opacity: 0,
            },
            {
              display: "block",
              opacity: 1,
              ease: Power3.easeIn,
            }
          );
        }, 1100);
        // TODO check
        setTimeout(() => {
          this.canvasContainer.style.display = "none";
        },2500);

   }
 }, 
  mounted() {
  window.setTimeout(() => {
        this.brake();
      }, 1000);
  
  }

我是这样解决的:

window.addEventListener('load', this.brake);

现在它可以在页面加载结束时正常工作。