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文件服务器(粘贴可直接用)
vue是目前最流行的前端框架,下面这篇文章主要给大家介绍了关于纯前端使用Vue3上传文件到minio文件服务器的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-04-04
解决element-ui中下拉菜单子选项click事件不触发的问题
今天小编就为大家分享一篇解决element-ui中下拉菜单子选项click事件不触发的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08
vue+render+jsx实现可编辑动态多级表头table的实例代码
这篇文章主要介绍了vue+render+jsx实现可编辑动态多级表头table的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的工作或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04
Element Table的row-class-name无效与动态高亮显示选中行背景色
这篇文章主要介绍了Element Table的row-class-name无效与动态高亮显示选中行背景色,本文详细的介绍了解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-11-11


最新评论