就是要实现组件通信吧。
可以使用provide/inject
父组件:
import { provide, ref } from 'vue'
....
setup() {
const separator = ref(true)
provide('separator', separator)
const changeSeparator = () => {
separator.value = !separator.value
}
return {
changeSeparator // 提供给按钮调用
}
}
子组件:
import { inject, Ref } from 'vue'
...
setup() {
const separator = inject<Ref<boolean>>('separator')
return { separator }
}
也可以使用props/$emit
父组件:
<component :separator="separator"></component>
...
import { provide, ref } from 'vue'
....
setup() {
const separator = ref(true)
const changeSeparator = () => {
separator.value = !separator.value
}
return {
separator,
changeSeparator // 提供给按钮调用
}
}
子组件:
<template>
{{separator}}
<template>
props: {
separator: {
type: Boolean,
default: true
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…