vuejs项目开发如何利用expose/ref实现父子组件传参

vuejs项目开发中如何利用expose/ref实现父子组件传参,下面编程教程网小编给大家详细介绍一下实现代码!

父组件代码

<template>
  <div>父组件:拿到子组件的message数据:{{ msg }}</div>
  <button @click="callChildFn">调用子组件的方法</button>
 
  <hr>
 
  <Child ref="com" />
</template>
 
<script setup>
import { ref, onMounted } from 'vue'
import Child from './components/Child.vue'
 
const com = ref(null) // 通过 模板ref 绑定子组件
 
const msg = ref('')
 
onMounted(() => {
  // 在加载完成后,将子组件的 message 赋值给 msg
  msg.value = com.value.message
})
 
function callChildFn() {
  // 调用子组件的 changeMessage 方法
  com.value.changeMessage('你好,中国!')
 
  // 重新将 子组件的message 赋值给 msg
  msg.value = com.value.message
}
</script>

子组件代码

<template>
  <div>子组件:{{ message }}</div>
</template>
 
<script setup>
import { ref } from 'vue'
 
const message = ref('我来自中国!')
 
function changeMessage(data) {
  message.value = data
}
 
defineExpose({
  message,
  changeMessage
})
</script>
以上是编程学习网小编为您介绍的“vuejs项目开发如何利用expose/ref实现父子组件传参”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。

本文标题为:vuejs项目开发如何利用expose/ref实现父子组件传参

基础教程推荐