Vue實(shí)現(xiàn)兄弟組件間的聯(lián)動(dòng)效果
需求說(shuō)明
如圖,我想要實(shí)現(xiàn)當(dāng)點(diǎn)擊字母L,頁(yè)面定位到L開(kāi)頭的城市名
Do it
1.找到字母表的頁(yè)面
在html標(biāo)簽綁定一個(gè)click事件,在js中定義一個(gè)方法,并使用參數(shù)e獲取點(diǎn)擊的字母。當(dāng)在頁(yè)面點(diǎn)擊時(shí),console出來(lái)
效果如下
2.通過(guò)city這個(gè)父頁(yè)面,進(jìn)行列表頁(yè)和字母表頁(yè)面的值傳遞
<1>在字母表頁(yè)定義一個(gè)監(jiān)聽(tīng)方法
<2>進(jìn)入city頁(yè)面,在html中綁定一個(gè)監(jiān)聽(tīng)事件
在js中編寫(xiě)這個(gè)事件的方法
打開(kāi)頁(yè)面,可以看到?jīng)]有問(wèn)題,city頁(yè)面監(jiān)聽(tīng)到了字母表頁(yè)面的點(diǎn)擊
<3>city父頁(yè)面把字母表頁(yè)面的請(qǐng)求轉(zhuǎn)發(fā)給list頁(yè)面
首先我們要在city頁(yè)面定義一個(gè)letter變量,然后在方法中定義用這個(gè)變量接受letter
然后還是city頁(yè)面,我們要在html中綁定這個(gè)變量
3.子組件獲取父組件傳遞過(guò)來(lái)的值
父組件傳遞過(guò)來(lái)了一個(gè)letter之后,子組件就要接受這個(gè)letter。
首先在list頁(yè)面中先定義letter,然后利用監(jiān)聽(tīng)器,一旦letter變化,只要letter不是空,那么就讓滾動(dòng)條滾動(dòng)到這個(gè)元素的起始位置
最后記得在城市列表區(qū)域內(nèi)注冊(cè)一個(gè)引用信息:ref=key,用來(lái)監(jiān)聽(tīng)你選中的key值
保存后,實(shí)現(xiàn)了聯(lián)動(dòng)效果。
總結(jié)
以上所述是小編給大家介紹的Vue實(shí)現(xiàn)兄弟組件間的聯(lián)動(dòng)效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
vue項(xiàng)目中路由跳轉(zhuǎn)頁(yè)面不變問(wèn)題及解決
這篇文章主要介紹了vue項(xiàng)目中路由跳轉(zhuǎn)頁(yè)面不變問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue封裝全局彈窗警告組件this.$message.success問(wèn)題
這篇文章主要介紹了vue封裝全局彈窗警告組件this.$message.success問(wèn)題,具有很的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09VUE配置proxy代理的開(kāi)發(fā)測(cè)試及生產(chǎn)環(huán)境
這篇文章主要為大家介紹了VUE配置proxy代理的開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08