vue如何通过ref调用router-view子组件的方法

 更新时间:2023年11月28日 16:00:18   作者:程序员小小黑  
这篇文章主要介绍了vue 通过ref调用router-view子组件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

vue 通过ref调用router-view子组件的方法

在这里插入图片描述

由于用的vue2.7版本,但用了vue3 setup的语法;
注意:是vue2的template结构,vue3的setup语法;非这种情况需要举一反三。

处理方案:

1、对router-view加上ref template修改
直接对router-view加上ref,
<router-view ref="child" > </router-view>script修改

  // add方法
  function add(){
    // 成功后调用子组件(此)
    proxy.$refs.child.refreshList
   }
  // add方法
  function add(){
    // 成功后调用子组件(此)
    proxy.$refs.child.refreshList
   }

2、子组件暴漏方法

注意:一定要用【defineExpose】暴漏给父级,否则父级看不到这个方法
script内:

function refreshList() {
}
// 暴漏给父组件
defineExpose({
 refreshList
})

其他场景的:

3、纯vue2的

应该this.$refs.child.refreshList就成,
因为子组件用的是 methods定义的

4、纯vue3的

父组件template修改

<template>
  <router-view v-slot="{ Component }">
    <component ref="child" :is="Component" />
  </router-view>
</template>

父组件script修改

  // add方法
  function add(){
    // 成功后调用子组件(此)
    proxy.$refs.child.refreshList
   }

子组件script修改
注意:一定要用【defineExpose】暴漏给父级,否则父级看不到这个方法

function refreshList() {
}
// 暴漏给父组件
defineExpose({
  refreshList
})

到此这篇关于vue 通过ref调用router-view子组件的方法的文章就介绍到这了,更多相关vue ref调用子组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 纯前端使用Vue3上传文件到minio文件服务器(粘贴可直接用)

    纯前端使用Vue3上传文件到minio文件服务器(粘贴可直接用)

    vue是目前最流行的前端框架,下面这篇文章主要给大家介绍了关于纯前端使用Vue3上传文件到minio文件服务器的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-04-04
  • uniapp+Vue3 组件之间的传值方法示例详解

    uniapp+Vue3 组件之间的传值方法示例详解

    文章主要介绍了父子传值、兄弟传值和provide/inject三种在Vue中进行组件间通信的方法,感兴趣的朋友跟随小编一起看看吧
    2025-03-03
  • 微信小程序开发实现消息框弹出

    微信小程序开发实现消息框弹出

    在小程序的wxml文件中创建消息框,消息框一般包含要提示的消息内容以及确认和取消按钮,在小程序的wxss文件中定义消息框的样式,在小程序的js文件中,我们需要通过Animation对象实现消息框的弹出动画
    2023-12-12
  • Vue.js watch监视属性知识点总结

    Vue.js watch监视属性知识点总结

    在本篇文章里小编给大家分享的是关于Vue.js watch监视属性的相关知识点内容,需要的朋友们学习下。
    2019-11-11
  • 在Vue3中安全访问子组件的示例代码

    在Vue3中安全访问子组件的示例代码

    在 Vue 开发中,父子组件间的通信是高频场景,当需要在父组件中直接调用子组件的方法时,模板引用(Template Refs)是最直接的解决方案,本文将通过一段 Vue 3 代码片段,深入剖析如何通过 TypeScript 实现类型安全的子组件实例访问,需要的朋友可以参考下
    2025-03-03
  • 解决element-ui中下拉菜单子选项click事件不触发的问题

    解决element-ui中下拉菜单子选项click事件不触发的问题

    今天小编就为大家分享一篇解决element-ui中下拉菜单子选项click事件不触发的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue+render+jsx实现可编辑动态多级表头table的实例代码

    vue+render+jsx实现可编辑动态多级表头table的实例代码

    这篇文章主要介绍了vue+render+jsx实现可编辑动态多级表头table的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的工作或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 如何使用uniapp内置组件webview消息传递详解

    如何使用uniapp内置组件webview消息传递详解

    uni-app的web-view组件用于在应用中打开网页,并支持应用和网页之间的消息传递,这篇文章主要介绍了如何使用uniapp内置组件webview消息传递的相关资料,需要的朋友可以参考下
    2025-02-02
  • vue之如何实现打印功能

    vue之如何实现打印功能

    这篇文章主要介绍了vue之如何实现打印功能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Element Table的row-class-name无效与动态高亮显示选中行背景色

    Element Table的row-class-name无效与动态高亮显示选中行背景色

    这篇文章主要介绍了Element Table的row-class-name无效与动态高亮显示选中行背景色,本文详细的介绍了解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11

最新评论