首页 > 解决方案 > Vue.JS:在mounted()中使用变量和axios?

问题描述

我的目标是创建一个覆盖,其中填充了安装覆盖时 axios 获取的数据。我这样尝试过,但无法将其与变量(.get("/edit/" + id)一起使用,但它适用于硬编码值(.get("/edit/" + "123")):

<script>
Vue.component("qm-overlay", {
  data() {
    return {
      myid : '123',
    };
  },

  props: {
    [..] 
  },

  mounted() {
      axios
        .get("/edit/" + myid )
        .then(response => (this.overlaydata = response.data));
  },


  methods: {
[..] 
  },

  template: `
        <div id="overlay"> [..] /div>
        `
});
</script>

我在浏览器控制台中遇到的错误是:

问题:“数据”中没有正确定义“myid”吗?我究竟做错了什么?

我的设置是:Laravel 5.6 和带有 axios 的 Vue.js。axios 中使用的 URL 是在 laravel 中创建的并且可以工作。在 laravel 的刀片文件中,我将组件称为

<qm-overlay></qm-overlay>

标签: vue.jsaxios

解决方案


使用this.myid而不是myid访问。


推荐阅读