setTimeout的使用(在vue项目中)

第一种情况:用this.fun调用方法,不能传参数,参数可以用data

  mounted() {
    this.Load();
  },
  methods: {
    Load() {
      // setTimeout("this.myfun", 1000); //1秒后開始运行 ×
      // setTimeout("this.myfun()", 1000); //1秒后開始运行 ×
      // setTimeout(this.myfun("参数"), 3000); //1秒后開始运行 直接运行函数 ×

      setTimeout(this.myfun, 3000); //1秒后開始运行 √
    },
    myfun(obj) {
      console.log("进来了", obj);
    },
}

第二种情况:方法在Load本方法中,不能传参数,参数在本方法中可以直接获取

  mounted() {
    this.Load();
  },
  methods: {
    Load() {
      // setTimeout("myfun", 1000); //1秒后開始运行 ×
      // setTimeout("myfun()", 1000); //1秒后開始运行 ×
      // setTimeout(myfun("参数"), 1000); //1秒后開始运行 直接运行函数 ×

      setTimeout(myfun, 1000); //1秒后開始运行 √

      function myfun(obj) {
        console.log('进来了',obj);
      }
    },
}

 myfun的位置是要执行的代码。逻辑也可以直接写在这里

posted @ 2022-03-02 14:33  何以平天下  阅读(2278)  评论(0编辑  收藏  举报