首页 > 解决方案 > VueJS,无法在同一方法中访问“this”或“self”

问题描述

目前我在一个问题上停留了几个小时。可悲的是,我在世界各地搜索并没有找到可行的解决方案。

问题是,从 api 提取数据后,我无法访问同一函数内的“self”或“this”变量。我只是得到一个'未定义'。

getInvoice(){
  var self = this
  axios
    .get(url)
    .then(response => (self.invoice = response.data.data))

  console.log(self.invoice.invoice_nr) //undefined
},

最好的问候和提前感谢。

标签: javascriptapivue.jsmethodsaxios

解决方案


首先,这不是 Vue JS 问题。

无论您使用什么框架,Rest API 在 Javascript 中都是异步的。

现在,为了从 访问数据Promise,您需要将其添加到.then函数中。

看看Axios 文档

承诺

要获取您的数据,

getInvoice(){
  var self = this
  axios
    .get(url)
    .then(response => {
        self.invoice = response.data.data;
        console.log(self.invoice.invoice_nr);
    })
},

希望这可以帮助!


推荐阅读