vue3實(shí)戰(zhàn)-子組件之間相互傳值問題
vue3子組件之間相互傳值
1、引用第三方庫mitt
npm install mitt
2、在項(xiàng)目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不同組件之間相互傳值
使用一個(gè)空Vue實(shí)例來進(jìn)行傳值,通過$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>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue axios與Go Frame后端框架的Options請求跨域問題詳解
這篇文章主要介紹了Vue axios與Go Frame后端框架的Options請求跨域問題詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
vue post application/x-www-form-urlencoded如何實(shí)現(xiàn)傳參
這篇文章主要介紹了vue post application/x-www-form-urlencoded如何實(shí)現(xiàn)傳參問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Vue中調(diào)用組件使用kebab-case短橫線命名法和使用大駝峰的區(qū)別詳解
這篇文章主要介紹了Vue中調(diào)用組件使用kebab-case(短橫線)命名法和使用大駝峰的區(qū)別,通過實(shí)例可以看出如果是在html中使用組件,那么就不能用大駝峰式寫法,如果是在.vue?文件中就可以,需要的朋友可以參考下2023-10-10
element-ui中el-form-item內(nèi)的el-select該如何自適應(yīng)寬度
自從用了element-ui,確實(shí)好用,該有的組件都有,但是組件間的樣式都固定好了,下面這篇文章主要給大家介紹了關(guān)于element-ui中el-form-item內(nèi)的el-select該如何自適應(yīng)寬度的相關(guān)資料,需要的朋友可以參考下2022-11-11
Vue2.x如何解決Element組件el-tooltip滾動時(shí)錯(cuò)位不消失的問題
這篇文章主要介紹了Vue2.x如何解決Element組件el-tooltip滾動時(shí)錯(cuò)位不消失的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
VUE 實(shí)現(xiàn)element upload上傳圖片到阿里云
這篇文章主要介紹了VUE 實(shí)現(xiàn)element upload上傳圖片到阿里云,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

