【发布时间】:2020-06-06 22:49:24
【问题描述】:
背景 我有一个子组件循环遍历从我的父组件传递的名为“expenseButton”的数组。在这个 for 循环中是正在更新的元素。特别是“费用”。
子组件
<form class="container">
<div class="buttonList" v-for="(expense, index) in expenseButton" :key="index">
<button type="button" @click="expenseButtonClick(expense)">{{expense.expensesKey}}</button>
<input class="textInput" v-model.number="expense.subExpense" type="number" />
</div>
</form>
<script>
export default {
props: {
expenseButton: Array,
},
methods: {
expenseButtonClick(expense) {
expense.expensesValue = expense.expensesValue - expense.subExpense;
}
}
}
</script>
问题 我知道 $emit 事件可以将数据传递给父级。但是,我试图找出将更新后的 elements 数组发送回父组件的最佳方式。
父组件数据
<template>
<expense-button :expenseButton="expenseButton"></expense-button>
</template>
<script>
export default {
components: {
"expense-button": Expenses
},
data() {
return {
expenseButton: [
{"expensesKey":"rent","expensesValue":null,"subExpense":""},
{"expensesKey":"movies","expensesValue":null,"subExpense":""},
{"expensesKey":"clothes","expensesValue":null,"subExpense":""}
],
};
}
}
</script>
【问题讨论】:
标签: javascript vue.js vuejs2 components v-for