vue3實戰(zhàn)-子組件之間相互傳值問題
vue3子組件之間相互傳值
1、引用第三方庫mitt
npm install mitt
2、在項目src文件夾下創(chuàng)建utils文件夾,在utils創(chuàng)建mitt.js,mitt.js中的代碼如下:
import mitt from "mitt"; export default new mitt();
3、示例:組件A傳值給組件B
//在組件A中引入 import mitt from "@/utils/mitt"; //調(diào)用傳值 mitt.emit("mittClick", "數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)");
//在組件B中引入 import mitt from "@/utils/mitt"; //接收傳值 mitt.on("mittClick", (val) => { ?? ?console.log(val)//數(shù)據(jù)數(shù)據(jù)數(shù)據(jù) })
vue不同組件之間相互傳值
使用一個空Vue實例來進行傳值,通過$emit,$on即可。
<!DOCTYPE html> <html lang="zh-CN"> ? ? <head> ? ? ? ? <title></title> ? ? ? ? <meta charset="utf-8"> ? ? ? ? <script src="./main/vue.js"></script> ? ? </head> ? ? <body> ? ? ? ? <div id="demo"> ? ? ? ? ? ? <!-- test code --> ? ? ? ? ? ? <custom-a></custom-a> ? ? ? ? ? ? <custom-b></custom-b> ? ? ? ? ? ? <!-- test code --> ? ? ? ? </div> ? ? </body> ? ? <script type="text/javascript"> ? ? let bus = new Vue(); ? ? Vue.component("custom-a", { ? ? ? ? template: '<button @click="transValue">Click</button>', ? ? ? ? methods: { ? ? ? ? ? ? transValue: () => bus.$emit("transValue", "hello from a") ? ? ? ? } ? ? }); ? ? Vue.component("custom-b", { ? ? ? ? template: '<input :value="msg">', ? ? ? ? data: function() { ? ? ? ? ? ? return { ? ? ? ? ? ? ? ? msg: "" ? ? ? ? ? ? } ? ? ? ? }, ? ? ? ? mounted() { ? ? ? ? ? ? bus.$on("transValue", msg => this.msg = msg) ? ? ? ? } ? ? }); ? ? new Vue({ ? ? ? ? el: "#demo" ? ? }); ? ? </script> </html>
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue axios與Go Frame后端框架的Options請求跨域問題詳解
這篇文章主要介紹了Vue axios與Go Frame后端框架的Options請求跨域問題詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03vue post application/x-www-form-urlencoded如何實現(xiàn)傳參
這篇文章主要介紹了vue post application/x-www-form-urlencoded如何實現(xiàn)傳參問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04Vue中調(diào)用組件使用kebab-case短橫線命名法和使用大駝峰的區(qū)別詳解
這篇文章主要介紹了Vue中調(diào)用組件使用kebab-case(短橫線)命名法和使用大駝峰的區(qū)別,通過實例可以看出如果是在html中使用組件,那么就不能用大駝峰式寫法,如果是在.vue?文件中就可以,需要的朋友可以參考下2023-10-10element-ui中el-form-item內(nèi)的el-select該如何自適應寬度
自從用了element-ui,確實好用,該有的組件都有,但是組件間的樣式都固定好了,下面這篇文章主要給大家介紹了關于element-ui中el-form-item內(nèi)的el-select該如何自適應寬度的相關資料,需要的朋友可以參考下2022-11-11Vue2.x如何解決Element組件el-tooltip滾動時錯位不消失的問題
這篇文章主要介紹了Vue2.x如何解決Element組件el-tooltip滾動時錯位不消失的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06VUE 實現(xiàn)element upload上傳圖片到阿里云
這篇文章主要介紹了VUE 實現(xiàn)element upload上傳圖片到阿里云,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08