我对vuecli中写 prop 的方式感到困惑

w51jfk4q  于 2023-04-21  发布在  Vue.js
关注(0)|答案(1)|浏览(133)

所以我正在构建一个购物车作为练习,我不明白为什么一种编写代码的方式可以工作,而另一种则不行。
这是工作的代码,它完美地展示了产品:

<mostrar-productos :listaPlantas="listaPlantas">
  </mostrar-productos>

但这一个不起作用:

<mostrar-productos v-for="planta in listaPlantas" 
    :key="planta.id"
    :id="planta.id"
    :name="planta.name"
    :stock="planta.stock"
    :price="planta.price"
    @restar-products="restProd(id)">

这是数据:

export default {
     name: 'App',
     data() {
       return {
          listaPlantas: [
            { id: "flor", name: "flores", qty: 0, stock: 5, price: 1000 },
            { id: "cact", name: "cactus", qty: 0, stock: 3, price: 2000 },
            { id: "arbol", name: "árboles", qty: 0, stock: 6, price: 7000 },
          ],
        };
      },

在我的理解中,两者是一样的:第一个使用完整的对象,而另一个使用属性一个接一个,但它应该是相同的,显然不是,但我不明白为什么。
有人能给我解释一下吗?

km0tfn4u

km0tfn4u1#

mostrar-productos组件是否获取[ namestockprice ]作为props?接收值作为props,您需要更新组件如下。

export default {
  name: 'mostrarProductos',
  props: {
    name: {
      type: String,
      default: () => '',
    },
    stock: {
      type: Number,
      default: () => 0,
    },
    price: {
      type: Number,
      default: () => 0,
    }
  }
  ...
}

相关问题