我有这个组件:
<template>
<div class="hello">
<div>
My prop: {{ myprop }}?
</div>
<div>
<button class="fas fa-lock-open lock" @click="changeText()">Click</button>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
export default defineComponent({
name: 'StartPage',
props: {
myprop: {
type: String
}
},
model: {
prop: 'myprop',
event: 'click'
},
methods: {
changeText () {
this.$emit('click', 'sometext')
console.log('this.myprop', this.myprop)
}
}
})
</script>
我使用的是vue v3。每次单击按钮时,我仍然会看到文本“我的 prop :?”。在控制台中,我可以看到:“this.myprop undefined”每次我点击按钮。我做错了什么?
1条答案
按热度按时间p4rjhz4m1#
根据我的理解,您正在尝试更新子组件中单击按钮时的 prop 文本。如果是,您可以简单地通过发出新文本并更新父组件中的文本来实现。
现场演示**:**
第一个