如何在Vuejs中使用axios传递props参数?

时间:2020-06-29 18:42:59

标签: vue.js vuejs2 axios

我正在通过道具在另一个组件中传递属性:

getOr

该产品具有一些属性,例如: "jest": { "moduleNameMapper": { "/opt/nodejs/(.*)": "<rootDir>/../nodejs/$1" }, }, props: ['product'] 等。

现在,我想通过axios获取带有ID的产品的类别。

有可能吗?怎么样? 我的尝试:

id

2 个答案:

答案 0 :(得分:1)

我认为Props属性将无法像这样直接访问。

data() {
  return {
     id: null,
     categoryName: null
  }
}

在挂载中,您可以像这样复制ID,然后它将起作用。

mounted () {
  this.id = this.product.id
  axios.get('/categoryofaproduct/'+this.id)
    .then(response => {
      this.categoryName = response.data
    })
}

答案 1 :(得分:0)

我建议使用反斜线使其成为字符串文字,并使用插值法将值插入其中。当URL中包含多个参数时,这才使其更具​​可读性

mounted () {
   axios
   .get(`/categoryofaproduct/${this.product.id}`
                 
)
   .then(response => {
       console.log(response)
  })
}

然后在您的路线上接受该参数

 {
      // create route with id as a parameter
      path: "/categoryofaproduct/:id",
      name: "category-of-a-product",
      component: () => import("./views/categoryofaproduct.vue"),
    },

要访问该参数,请创建一个返回该参数的计算字段

 computed: {
    paramsId() {
      return this.$route.params.id
    },
}