【问题标题】:Axios - cannot change variable data valueAxios - 无法更改变量数据值
【发布时间】:2020-10-27 15:14:45
【问题描述】:

我尝试使用 axios 更改变量数据,我使用的是 vue-axios 和 vue cli 3。

这是代码:

const qs = require('qs')
export default {
  name: 'Home',
  data: function () {
    return {
      email: null,
      errEmail: false,
      baseUrl: 'https://www.example.com/isemail.php'
    }
  },
  methods: {
    next: function () {
    },
    err: function () {
      this.axios.post(this.baseUrl + 'functions/isEmail.php', qs.stringify({
        value: this.email
      }))
        .then(function (resp) {
          this.errEmail = true
        })
    }
  }
}
<div v-if="errEmail">Target Success</div>

实际上我正在尝试更改 errEmail 变量取决于服务器回调,如下所示:

this.errEmail = resp.data.isemail

但使用常量似乎也不起作用。

【问题讨论】:

  • 你需要为then()回调使用箭头函数,或者函数内部的this将引用函数本身,而不是你的Vue应用上下文。

标签: javascript rest vue.js axios vue-cli-3


【解决方案1】:

改变这个

.then(function (resp) {
  this.errEmail = true
})

到这里

.then((resp) => {
  this.errEmail = true
})

或者手动绑定this

   .then(function (resp) {
      this.errEmail = true
    }.bind(this))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 2022-06-15
    相关资源
    最近更新 更多