国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解Vue中組件傳值的多重實現(xiàn)方式

2019-11-19 11:01:55
字體:
供稿:網(wǎng)友

vue中組件傳值方式整理

1.我們最熟悉的父子組件傳值

父->子 props 子->父 $emit

這些我們最常用的就不說了,如果有不理解的,俺這兒有篇不錯的文章,鏈接奉上~

https://www.cnblogs.com/LoveAndPeace/p/7273648.html

2.兄弟組件或無關(guān)系組件之間的傳值

我們最常用的方式采用一個第三方變量 俗稱eventbus  通過其中一個$emit發(fā)另一個$on接收的方式 實現(xiàn)組件傳值    main.js中掛載一下

在其中一個頁面$emit

另一個頁面$on

是不是有點像昨天我寫的pubsub呢?哈哈哈哈哈

3.attr和listener進行傳值(注意,這兩種只能向下傳遞)

父組件里的子組件上寫上你要傳遞的鍵名鍵值,

子組件里通過{{$attrs}}拿到你所有傳遞的值

這樣直接就拿到了,是不是很神奇~

效果:

子組件里通過{{$attrs}}拿到你所有傳遞的值

子組件下邊還有組件 可以用v-bind:"$attrs"傳遞,在孫子組件中通過{{$attrs}}

listener用來傳遞事件,用法大致一個樣

我們設(shè)置一個點擊事件

在子元素中↓我們console下,看看拿到?jīng)]有

再籠統(tǒng)的概述下  vue中 listeners事件傳遞父組件里的子組件上寫個函數(shù) 比如@log="log",在當前頁的methods:{}里對應(yīng)上執(zhí)行的語句子組件觸發(fā)的話里寫個觸發(fā)事件,如click="aaa" methods寫法:methods:{ aaa(){  this.$listeners.你父組件的那個方法 這里是this.$listeners.log()調(diào)用 }}子組件下還有組件的話 用v-on:"$listeners"再往下傳下面繼續(xù)用子組件獲取的方法獲取

4.采用ref的方式 有點react父傳子的亞子

but!也不太一樣 ,在你父組件引入的子組件上寫個ref="xxx",你父組件便拿到了一系列子組件的東西,比如數(shù)據(jù),事件等↓

5.用vuex 就不用說了吧 數(shù)據(jù)集中起來,每個頁面值都能相互拿到

state里設(shè)置值

通過stor.state.值拿到值

通過commit 或者dispatch往mutations和actions里提交可以做數(shù)據(jù)對應(yīng)處理等等....

6.通過provide設(shè)置,inject取值但是這種方式不建議用

舉個栗子:

另一個組件

搞定~ 這是整理的一些組件傳值的方法,初來乍到許多寫文的格式不太會調(diào),大家湊合看

總結(jié)

以上所述是小編給大家介紹的Vue中組件傳值的多重實現(xiàn)方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴安县| 石首市| 西贡区| 会泽县| 舞钢市| 大安市| 繁昌县| 绩溪县| 合山市| 萨嘎县| 泊头市| 广昌县| 贺州市| 逊克县| 商洛市| 舒城县| 左贡县| 绥滨县| 德清县| 威信县| 清河县| 镇康县| 宾川县| 龙岩市| 理塘县| 马公市| 河南省| 海原县| 洪洞县| 青神县| 江门市| 沙湾县| 通州区| 尉犁县| 嘉善县| 南阳市| 图们市| 南京市| 安义县| 元阳县| 民丰县|