【发布时间】:2020-10-16 13:35:33
【问题描述】:
我是 vue 新手,我遇到了这个错误,我不确定我是否正确传递了道具并在其他组件中很好地执行了它。我将详细解释我想要实现的目标。
我在此页面上单击时隐藏了一个组件,并在此处可互换地显示另一个元素。
我已经阅读了几个解决方案,但我不明白我究竟应该如何解决它
<div v-if="hidden" class="orderSummary">
<div class="orderSummary__container">
<h2 class="orderSummary__header">Order Summary</h2>
<button @click="showForm()" class="total__button">Continue</button>
<PaymentForm v-if="!hidden" :hidden="hiddenMode" />
</div>
</div>
methods: {
showForm() {
if (this.subTotal > 1) {
this.hidden = false;
}
}
},
现在在支付表单组件中,我需要隐藏该组件并让另一个组件也出现,我想通过传递道具来做到这一点。 这是我的代码
<div class="payForm">
<div @click="hideForm()" class="PayForm__icon">
<backIcon class="icon" />
<span class="PayForm__icon-text">Go back</span>
</div>
</div>
props: ["base_amount", "value_added_tax", "hiddenMode"],
methods: {
submit() {
const data = {
name: this.name,
};
},
hideForm() {
this.hiddenMode = true;
}
},
我收到以下错误,我该怎么办
Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "hiddenMode"
【问题讨论】:
-
您可以向父级发送事件或在子级中使用
computed属性
标签: javascript vue.js