我在 Vue 3 上。我有一個 onclick 方法,它應該修改我的 props 的值,它是一個布林值,我嘗試了幾種方法,我設法進入了計算方法,但是我的 props 的值沒有改變
我注冊我的資料
data() {
return {
showConsommationWindow: false
}
}
然后我嘗試了 3 種方法來更改該值,但都沒有奏效。首先 :
<submit-button v-on:click="showConsommationWindow = true" />
第二個:(警報被執行但資料值不會改變)
<submit-button v-on:click="showConsommation(true)"/>
methods: {
showConsommation(boolValue){
alert('false')
this.showConsommationWindow = boolValue;
}
}
最后 :
<submit-button v-on:click="showConsommation"/>
methods: {
showConsommation(){
if (!this.showConsommationWindow) {
alert('false')
this.showConsommationWindow = true;
return
}
this.showConsommationWindow = false;
}
},
我真的不明白為什么我的資料不能變異,謝謝你的幫助。
uj5u.com熱心網友回復:
如果 value 來自 props,則意味著父級將布林值分配給組件。所以如果你想改變布林值,你應該這樣做:
// in parent
<Component :booleanValue="myBoolean" @changeBooleanValueEvent="changeMyBoolean" />
...
data() {
return {
myBoolean: true
}
}
methods: {
changeMyBoolean(value) {
this.myBoolean = value
}
}
// in component
props: {
booleanValue: {
...
}
}
methods: {
showConsommation() {
this.$emit('changeBooleanValueEvent', false)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/364163.html
上一篇:是否可以將Vue3與組合API和vue類組件一起使用?
下一篇:Blazor導航管理器/身份驗證
