技术点:vue3 使用 ref 绑定 router-view,想调取某个子路由中的方法来重载数据

需求背景

当前有一个页面为父路由页面(/system)
他的子页面是他的两个下级(/system/user /system/auth)
在这里插入图片描述

由于搜索框及添加按钮都在父级母版中,现在需要在点击添加按钮或者搜索框搜索时都触发子路由页面对应的方法,如:在tab选中用户列表时,触发子页面内的添加用户方法,tab选中角色权限时,触发子页面的添加角色方法

代码实现

在 /system 中

<template>
  <router-view v-slot="{ Component }">
    <component ref="order" :is="Component" />
  </router-view>
</template>
<script setup>
  import { ref } from 'vue'
  let order = ref()
  const test = () => {
    order.value.add()
  }
</script>

在 /system/user , /system/auth中

  defineExpose({
    add() {
      console.log('添加用户')
      //   console.log('添加角色')
    }
  })

猜你喜欢

转载自blog.csdn.net/Big_YiFeng/article/details/128215656
今日推荐