【发布时间】:2021-05-23 23:25:09
【问题描述】:
我想知道如何使用组合 api 从 Vue 3 中的父组件观察子属性(我正在使用实验性 script setup)。
<template>//Child.vue
<button
@click="count++"
v-text="'count: ' + count"
/>
</template>
<script setup>
import { ref } from 'vue'
let count = ref(1)
</script>
<template>//Parent.vue
<p>parent: {{ count }}</p> //update me with a watcher
<Child ref="childComponent" />
</template>
<script setup>
import Child from './Child.vue'
import { onMounted, ref, watch } from 'vue'
const childComponent = ref(null)
let count = ref(0)
onMounted(() => {
watch(childComponent.count.value, (newVal, oldVal) => {
console.log(newVal, oldVal);
count.value = newVal
})
})
</script>
我想了解如何从父组件观察子组件的变化。我不工作的解决方案受到Vue.js 2 Solution asked here 的启发。所以我不想发出count.value,而只是注意变化。
谢谢!
【问题讨论】:
-
为什么不想发出事件?
-
因为我想了解如何观察跨组件变化的数据。计数只是一个例子。这不是一个奇特的案例,但不幸的是我没有得到任何结果,所以这就是我问的原因。
标签: vue.js vue-component vuejs3 vue-composition-api vue-script-setup