当前位置: 首页 > article >正文

Vue3 子路由vue如何调用父路由vue中的方法?

1.  router -> index.ts 文件:

import { createRouter, createWebHistory } from 'vue-router'
import DefaultView from '@/views/default/index.vue'
import ParentView from '@/views/parent/index.vue'
import ChildView from '@/views/child/index.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'Default',
      component: DefaultView
    },
    {
      path: '/parent',
      name: 'parent',
      component: ParentView,
      children: [
        {
          path: 'child',
          name: 'child',
          component: ChildView
        }
      ]
    }
  ]
})

export default router

2、父路由 ParentView 对应的 index.vue 界面

<template>
  <div>
    <span>父路由界面</span>
   <!-- 下面 route-view 是子路由承载标签 -->
    <router-view></router-view>
  </div>
</template>
<script setup lang="ts">
import { onMounted, provide } from 'vue'

//使用 provide 方法向子路由公开 CallParent 方法
provide('CallParent', (data: any) => {
      console.log('成功调用了父路由方法');
})

onMounted(() => {
     //父路由界面元素加载完毕
})
</script>

3、子路由 ChildView 对应的 index.vue 界面

<template>
  <div>
    <span>子路由界面</span>
  </div>
</template>
<script setup lang="ts">
import { onMounted, inject } from 'vue'

//使用 inject 获取到父路由公开 CallParent 方法
let parentMethod: (data: any) => {} = inject('CallParent')

onMounted(() => {
     //调用父路由中的方法
     parentMethod('hello world!')
})
</script>


http://www.kler.cn/a/418993.html

相关文章:

  • 搭建AD域服务器
  • Vue 3 的双向绑定原理
  • 《装甲车内的气体卫士:上海松柏 S-M4 智能型气体传感器详解》
  • CCF 第一届算法竞赛 CACC 考题回忆
  • 设计模式学习[10]---迪米特法则+外观模式
  • 树莓派5+文心一言 -> 智能音箱
  • android 项目多电脑共用github及github项目迁移
  • 嵌入式面试八股文(十)·FreeRTOS相关题目
  • react 响应式变量定义
  • Flutter简单实现滑块验证
  • 基于java+SpringBoot+Vue的教学辅助平台设计与实现
  • arcgis for js点击聚合要素查询其包含的所有要素
  • 30.100ASK_T113-PRO 用QT编写视频播放器(一)
  • OpenGauss数据库介绍
  • 详解 Qt QtPDF之QPdfPageNavigator 页面跳转
  • leetcode3250. 单调数组对的数目 I,仅需1s
  • SQL基础入门—— SQL 数据类型
  • shell语法(1)bash
  • SAP SD学习笔记15 - 投诉处理2 - 返品处理流程之 参照请求传票(发票)来生成返品传票
  • JavaScript 入门教学:从基础语法到实践案例
  • Oracle 11g R2 RAC 到单实例 Data Guard 搭建(RMAN备份方式)
  • 小红书矩阵运营:怎么通过多个账号来提升品牌曝光?
  • 【Ubuntu系统开发工具使用技能】在jupyter notebook界面选择新的conda虚拟开发环境
  • 使用 Certbot 为 Nginx 自动配置 SSL 证书
  • kafka数据在服务端时怎么写入的
  • Hive 安装与架构详解