日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

vue 組件間的通信之子組件向父組件傳值的方式

瀏覽:227日期:2022-12-23 18:37:48

父組件向子組件傳值:父組件通過屬性向下傳值的方式和子組件通信;

使用步驟:

定義組件:現(xiàn)有自定義組件com-a、com-b,com-a是com-b的父組件;

準(zhǔn)備獲取數(shù)據(jù):com-b要獲取父組件data中的name屬性;

在<com-b :name=“name”></com-b> 使用v-bind 綁定name屬性,紅色部分為屬性名稱,可以隨意寫。

在子組件定義部分里添加選項,值是個字符串?dāng)?shù)組 props:[‘name’],將上邊紅色的屬性名稱寫在這里;

之后就可定義在子組件中使用name屬性了;

好了,接著本文的重點內(nèi)容。

寫vue,如果頁面涉及到多個組件,就會涉及組件之間的通信,可能是父子組件間的通信,也可以是同級組件間的通信,那么,vue里面的組件如何通信。一般來說在vue的數(shù)據(jù)傳遞是在父組件傳子組件通過屬性來傳,子組件傳父組件通過事件來傳值。

1. 子組件通過通過this.$emit()的方式將值傳遞給父組件;2. 通過vuex來傳遞組件間的數(shù)據(jù);3. 通過中央總線來傳遞組件間的數(shù)據(jù);4. 通過修改父組件傳過來的對象屬性5. 父組件使用子組件的引用ref調(diào)用子組件的方法獲取子組件的數(shù)據(jù)

一、子組件通過this.$emit()的方式將值傳遞給父組件,父組件里面的子組件通過@func綁定一個函數(shù)來處理

子組件傳過來的數(shù)據(jù)

<template> <div class='app'> <input @click='sendMsg' type='button' value='給父組件傳遞值'> </div></template><script>export default { data () { return { //將msg傳遞給父組件 msg: '我是子組件的msg', } }, methods:{ sendMsg(){ //func: 是父組件指定的傳數(shù)據(jù)綁定的函數(shù),this.msg:子組件給父組件傳遞的數(shù)據(jù) this.$emit(’func’,this.msg) } }}</script>

父組件

<template> <div class='app'> <child @func='getMsgFormSon'></child> </div></template><script>import child from ’./child.vue’export default { data () { return { msgFormSon: 'this is msg' } }, components:{ child, }, methods:{ getMsgFormSon(data){this.msgFormSon = dataconsole.log(this.msgFormSon) } }}</script>

二、通過vuex來傳遞組件間的數(shù)據(jù)

vuex就是把數(shù)據(jù)放到內(nèi)存里面去,各個組件間都可以共享vuex里面的數(shù)據(jù)

1.在一個組件間調(diào)用this.$store.dispatch(‘findUserInfoList’, q_userInfo_form); 來觸發(fā)vuex里面函數(shù)修改vuex的數(shù)據(jù),然后在另一個組件用計算屬性映射獲取vuex的這個屬性值,就可以實現(xiàn)組件間的數(shù)據(jù)傳遞

computed: mapState({ //映射vuex的相關(guān)屬性值 userInfoList: state => state.userInfoModule.userInfoList, start: state => state.userInfoModule.start, total: state => state.userInfoModule.total,}),method:{ //查詢操作 findUserInfoList: function(q_userInfoForm, start){ this.q_userInfoForm.start = (start === null) ? 1 : start; this.$store.dispatch(’findUserInfoList’, q_userInfo_form); },}

三、通過中央總線來傳遞組件間的數(shù)據(jù)

對于一些簡單的項目里的可能又不是父子組件,可能是同級組件的,另一方面又沒有必要使用Vuex,針對這種情形可以使用中央事件總線(Event Bus)來解決問題,主要用到vue對象的on和on和on和emit事件,在同一個vue的實例可以觸發(fā)這兩個事件,比如子組件傳遞數(shù)據(jù)到父組件,在子組件通過同一個vue對象觸發(fā)emit事件傳遞數(shù)據(jù),在父組件通過vue實例的emit事件傳遞數(shù)據(jù),在父組件通過vue實例的emit事件傳遞數(shù)據(jù),在父組件通過vue實例的on監(jiān)聽剛剛emit觸發(fā)的事件來獲取子組件傳遞過來的數(shù)據(jù)

先創(chuàng)建一個constantsBus.js文件,里面根據(jù)不同模塊創(chuàng)建相關(guān)的vue實例

/** * 不同組件間通訊用的 中央事件總線 */import Vue from ’vue’;//用戶管理總線export const userBus = new Vue();//管理員管理總線export const adminBus = new Vue();

在一個組件間調(diào)用$emit傳遞數(shù)據(jù)

//引用剛剛創(chuàng)建的constantsBus.jsimport * as constantsBus from ’@/common/constantsBus’;

vue 組件間的通信之子組件向父組件傳值的方式

4. 在另個接收數(shù)據(jù)的組件用$on來監(jiān)聽獲取emit傳過來的數(shù)據(jù)

created() { let that = this; //監(jiān)聽子組件的事件,獲取其他組件傳遞過來的data數(shù)據(jù) constantsBus.processBus.$on(’processChooseAssessor’, data => { //獲取emit觸發(fā)的processChooseAssessor事件傳遞過來的data數(shù)據(jù) });},

四、通過修改父組件傳過來的對象屬性

一般來說在vue的數(shù)據(jù)傳遞是在父組件傳子組件通過屬性來傳,但是通過屬性來傳值,是單向的,子組件不能修改父組件的prop值,如果在子組件里面修改父組件傳過來的prop屬性值,會報錯,但是也有例外,對象類型的除外,如果父組件傳給子組件的屬性是對象的話,是可以修改對象里面的值的,并且修改后也對父組件可見,因為對象的話最后的引用都是指向同一塊內(nèi)存,不受子組件不可以修改父組件的屬性約束。(不過不建議這樣處理,子組件可以修改父組件的屬性會污染數(shù)據(jù)傳遞,可能以后在那個子組件改了都不知道,一般對象的傳遞要深拷貝)

五、父組件使用子組件的引用ref調(diào)用子組件的方法獲取子組件的數(shù)據(jù)

1.在子組件寫一個獲取數(shù)據(jù)的方法

vue 組件間的通信之子組件向父組件傳值的方式

2.父組件通過子組件的ref調(diào)用這個方法獲取子組件的數(shù)據(jù)

<trademark-file-upload ref='trademarkFileUpload' :uploadFileList='uploadFileList'></trademark-file-upload><script>let fileList = this.$refs.trademarkFileUpload.getFileList();<script>

到此這篇關(guān)于vue 組件間的通信之子組件向父組件傳值的方式的文章就介紹到這了,更多相關(guān)vue 子組件向父組件傳值內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩二区在线观看| 日本а中文在线天堂| 国产成人精品三级高清久久91| 日韩精品欧美大片| 91精品丝袜国产高跟在线| 亚洲视频国产精品| 一本一道久久a久久| 亚洲一区导航| 日韩国产91| 国产乱码精品一区二区三区亚洲人| 久久精品xxxxx| 麻豆精品在线播放| 丁香婷婷久久| 精品欧美一区二区三区在线观看| 日韩伦理在线一区| 99久精品视频在线观看视频| 免费精品国产的网站免费观看| 自拍日韩欧美| 一区二区三区网站| 国产精品一二| 在线日韩欧美| 91精品麻豆| 丝袜av一区| 鲁大师精品99久久久| 欧美日韩一区二区三区四区在线观看 | 亚洲一区二区三区无吗| 久久精品女人| 另类综合日韩欧美亚洲| 国产精品日本一区二区不卡视频| 一区二区电影| 日韩精品久久久久久久软件91| 蜜桃av一区二区三区电影| 亚洲一区日韩| 国产精品13p| 在线亚洲一区| 久久久久亚洲精品中文字幕| 女人天堂亚洲aⅴ在线观看| 麻豆一区二区三区| 一区二区电影在线观看| 快播电影网址老女人久久| 婷婷久久免费视频| 欧美精品自拍| 精品三级久久| 久久久久久久久成人| 蜜桃一区二区三区在线观看| 蜜臀国产一区| 国产毛片久久久| 一区二区三区四区日韩| 免费视频一区三区| 岛国av在线播放| 日本视频一区二区| 久久不射中文字幕| 欧美日韩国产在线观看网站 | 亚洲区第一页| 久久99国产精品视频| 国产精品一区二区精品| 99国产精品久久久久久久成人热| 久久男人av| 久久影院一区二区三区| 日韩中文首页| 国产传媒在线观看| 91精品综合| 天海翼亚洲一区二区三区| 视频一区日韩精品| 亚洲精选av| 精品视频99| 欧洲激情综合| 日韩亚洲精品在线观看| 国产精品羞羞答答在线观看| 国产激情综合| 国精品一区二区| 88久久精品| 亚洲综合电影| 亚洲综合图色| 麻豆精品视频在线观看视频| 日韩精品永久网址| 香蕉久久99| 97se亚洲| 欧美高清一区| 青草av.久久免费一区| 久久美女精品| 国产欧美日韩亚洲一区二区三区| 成人羞羞在线观看网站| 日本va欧美va瓶| 日韩伦理一区| 久久激情综合网| 久久成人国产| 亚洲福利一区| 国产精品13p| 欧美一区精品| 久久xxxx| 成人看片网站| 久久精品午夜| 青青青国产精品| 国产视频欧美| 国产一区二区中文| 美女视频黄 久久| 久久精品99国产国产精| 欧美成人久久| 亚洲午夜精品久久久久久app| 免费看av不卡| 成年男女免费视频网站不卡| 国产福利电影在线播放| 欧美丝袜一区| 国产一区白浆| 国产精品一区二区精品| 日本久久二区| 久久影院资源站| 久久不卡国产精品一区二区| 久久亚洲不卡| 日韩欧美中文字幕一区二区三区 | 欧美亚洲国产一区| 国产精品久久久亚洲一区| 日本少妇一区二区| 国产综合色产| 美女精品网站| 中文字幕一区日韩精品| 亚洲综合中文| 国产精品v一区二区三区| 69精品国产久热在线观看| 国产伦精品一区二区三区视频| 免费精品一区| 亚洲国产影院| 日韩精品国产欧美| 国产精品久久久久蜜臀| 香蕉久久99| 日韩av电影一区| 欧洲av不卡| 亚洲精品伊人| 国产盗摄——sm在线视频| 在线综合视频| 国产激情欧美| 国产真实久久| 7777精品| 国产精品欧美三级在线观看| 91日韩免费| 久久av一区| 国产美女精品| 国产精品美女久久久久久不卡 | 久久一级电影| 卡一卡二国产精品| 国产精品视频一区二区三区综合| 亚洲18在线| 免费精品视频| 国产精品美女久久久久久不卡| 欧美日韩精品一区二区三区在线观看| 婷婷丁香综合| 久久久影院免费| 黄色亚洲大片免费在线观看| 日本一区二区三区中文字幕| 日本成人中文字幕| 国产探花一区二区| 蜜桃久久av| yellow在线观看网址| 国产福利片在线观看| 精品欧美视频| 老司机精品视频网| 蜜桃av一区二区三区电影| 国产婷婷精品| 在线精品亚洲| 亚洲福利国产| 伊人久久高清| 欧美日韩18| 激情不卡一区二区三区视频在线| 99国产精品| 综合精品一区| 亚洲夜间福利| 亚洲欧美专区| 久久国产精品久久久久久电车 | 伊人久久成人| 日本色综合中文字幕| 一区免费视频| 国产精品久久| 日韩不卡一二三区| 日韩在线成人| 欧美日韩视频免费看| 丝袜国产日韩另类美女| 伊人久久亚洲热| 日韩在线播放一区二区| 在线观看一区| 欧美精品影院| 国产福利一区二区精品秒拍| 国产精品1区| 91视频一区| 国产在线成人| 中文字幕av一区二区三区人| 蜜臀久久99精品久久久久宅男| 亚洲欧美久久精品| 国产精品美女久久久久久不卡| 久久精品国产999大香线蕉| 国产 日韩 欧美 综合 一区| 欧美韩日一区| 不卡中文一二三区| 国产精品一卡| 久久高清免费观看| www在线观看黄色| 青青青国产精品| 国产精品igao视频网网址不卡日韩| 国产日本精品| 久久久精品区|