解决vue前端控制器中出现this is undefined的问题

  1. 出现问题的代码。
getAllLog1(){
      this.$http({
        method: "get",
        url: "/getAllog1.php",
      })
        .then(function (response){
          this.tableData1=response.data;
          })
        .catch(function (error) {
          console.log(error);
        });
    },
  1. 原因:匿名函数的this指向运行时实际调用该方法的对象,无法在编写函数时确定
  2. 解决方法:使用箭头函数回调数据,箭头函数内部的this是词法作用域,在编写函数时就已经确定了,由上下文确定,而不是指向调用该方法的对象。
  3. 修改代码如下:
getAllLog1(){
      this.$http({
        method: "get",
        url: "/getAllog1.php",
      })
        .then(response =>{//此处修改为箭头函数
          this.tableData1=response.data;
          })
        .catch(function (error) {
          console.log(error);
        });
    },
Logo

前往低代码交流专区

更多推荐