Vue如何實(shí)現(xiàn)監(jiān)聽(tīng)組件原生事件
在首頁(yè)開(kāi)發(fā)中,右下角有一個(gè)返回頂部的小箭頭,將它單獨(dú)封裝成一個(gè)BackTop組件,但是它何時(shí)出現(xiàn)需要依賴于首頁(yè)的滑動(dòng),即另外一個(gè)Scroll組件。如果直接在BackTop組件里面監(jiān)聽(tīng),則需要通過(guò)this.$emit將事件發(fā)射到Home組件中,又在Home中監(jiān)聽(tīng)自定義事件,比較復(fù)雜。因此,我們直接在Home中對(duì)BackTop組件進(jìn)行監(jiān)聽(tīng),使用 .native
官網(wǎng)對(duì)于native的解釋為:
.native:監(jiān)聽(tīng)組件根元素的原生事件
代碼如下:
在Home.vue中對(duì)back-top組件進(jìn)行點(diǎn)擊事件監(jiān)聽(tīng):


this.$refs.scroll 得到的是 Scroll 組件,this.$refs.scroll.scroll 得到的是Scroll組件中 data 中定義的 scroll屬性,

better-scroll中有個(gè)方法是 scrollTo,

這里順便講解一下 ref 屬性的使用:
ref 被用來(lái)給DOM元素或子組件注冊(cè)引用信息。引用信息將會(huì)注冊(cè)在父組件的 $refs對(duì)象上。$refs 是所有注冊(cè)過(guò)的ref的一個(gè)集合,
如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子組件上,引用就指向組件實(shí)例。
1.在普通的dom結(jié)構(gòu)中,在元素上添加ref屬性,this.$refs.ref獲取的是具有這個(gè)ref屬性的dom節(jié)點(diǎn)
2.在vue組件中,this.$refs.ref獲取的是組件的實(shí)例,組件中的data可以直接this.$refs.ref.key獲取數(shù)據(jù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue+springboot實(shí)現(xiàn)登錄功能
這篇文章主要為大家詳細(xì)介紹了vue+springboot實(shí)現(xiàn)登錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
解決Vue控制臺(tái)報(bào)錯(cuò)Failed to mount component: tem
這篇文章主要介紹了解決Vue控制臺(tái)報(bào)錯(cuò)Failed to mount component: template or render function not defined.問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
Vue通過(guò)provide inject實(shí)現(xiàn)組件通信
這篇文章主要介紹了Vue通過(guò)provide inject實(shí)現(xiàn)組件通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Vue2.0 從零開(kāi)始_環(huán)境搭建操作步驟
下面小編就為大家?guī)?lái)一篇Vue2.0 從零開(kāi)始_環(huán)境搭建操作步驟。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
vue實(shí)現(xiàn)文章點(diǎn)贊和差評(píng)功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)文章點(diǎn)贊和差評(píng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
深入淺析Vue不同場(chǎng)景下組件間的數(shù)據(jù)交流
探通過(guò)本篇文章給大家探討不同場(chǎng)景下組件間的數(shù)據(jù)“交流”的Vue實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2017-08-08
vue權(quán)限路由實(shí)現(xiàn)的方法示例總結(jié)
這篇文章主要給大家介紹了關(guān)于vue權(quán)限路由實(shí)現(xiàn)方法的相關(guān)資料,文中通過(guò)示例代碼介紹地方非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07

