0
点赞
收藏
分享

微信扫一扫

低代码开发技术选型

Soy丶sauce 2023-10-07 阅读 67

1. 父组件:

<script setup>
import { defineAsyncComponent, watchEffect, toRefs, reactive } from 'vue';

// 异步组件
const Test = defineAsyncComponent(()=>import('./xx/Test.vue'))

const child1Ref = ref(null)
const state = reactive({
  age: 1,
  name: '2',
  sayHello: null,
})
watchEffect(() => {
    // 拿到子组件的一些数据
    console.log(child1Ref.value)
    const obj = toRefs(child1Ref.value)
    console.log(obj.a, obj.b)
    state.name = obj.b
    state.age = obj.a
    state.sayHello = obj.onSayHello
})

</script>

<template>
  {{ state.age }} -- {{ state.name }}
  <button @click="state.sayHello">say hello</button>
  <Test ref="child1Ref"/>
</template>

2. 子组件

<script setup>
import { ref, defineExpose } from 'vue'

const a = ref(101)
const b = ref('sddewfewfew')

const onSayHello = () => {
  console.log('hello')
}
defineExpose({
    a,
    b,
    onSayHello,
})

</script>

<template>
    <p>Child1</p>
</template>
举报

相关推荐

低代码开发

0 条评论