【发布时间】:2021-07-30 18:28:09
【问题描述】:
我有可变数量的输入字段,用于从以数字作为输入的 API 响应生成的产品数量输入。一旦用户更改输入字段值,我需要更新每个项目的总价和所有项目的小计。
这是我正在尝试的 数据:
"productList": [
{
"id": 27,
"product_id": "2362",
"product_name": "nengra",
"unit": "box",
"minimum_order": "1",
"unit_price": "890",
"photo_url": "http://45.114.85.21:11011/micro_product/mv8gigsx2e_7a4i2twgv6.jpg"
},
{
"id": 29,
"product_id": "2365",
"product_name": "nengra",
"unit": "box",
"minimum_order": "1",
"unit_price": "890",
"photo_url": "http://45.114.85.21:11011/micro_product/qdmiugpabf_4ojvtkryym.jpg"
}
]
模板:
<div v-for="{{products in productList}}" :key="products.product_id">
<input type="number" v-model="products.qty" v-on:change="updateCart" >
<p>{{products.productsTotal}}</p>
</div>
<p>{{subTotal}}</p>
脚本:
data(){
return{
qty:[],
cartID: null,
productList: [],
total: 0,
subtotal: 0,
productTotal: 0
}
},
methods: {
updateCart: function (){
this.products.productTotal = this.products.qty * this.productList.price
}
}
我是 Vue2 的新手,请帮我整理一下。谢谢
【问题讨论】:
-
this.products是undefined。subTotal未定义。请创建一个minimal reproducible example 之类的代码框并尝试运行代码,您将在控制台中看到错误。