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調用子組件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
純前端使用Vue3上傳文件到minio文件服務器(粘貼可直接用)
vue是目前最流行的前端框架,下面這篇文章主要給大家介紹了關于純前端使用Vue3上傳文件到minio文件服務器的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-04-04解決element-ui中下拉菜單子選項click事件不觸發(fā)的問題
今天小編就為大家分享一篇解決element-ui中下拉菜單子選項click事件不觸發(fā)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08vue+render+jsx實現(xiàn)可編輯動態(tài)多級表頭table的實例代碼
這篇文章主要介紹了vue+render+jsx實現(xiàn)可編輯動態(tài)多級表頭table的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的工作或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Element Table的row-class-name無效與動態(tài)高亮顯示選中行背景色
這篇文章主要介紹了Element Table的row-class-name無效與動態(tài)高亮顯示選中行背景色,本文詳細的介紹了解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11