十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)vue如何實(shí)現(xiàn)城市列表選擇功能,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元德江做網(wǎng)站,已為上家服務(wù),為德江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。
成果展示
準(zhǔn)備工作:
引入axios插件,調(diào)用better-scroll第三方插件,本地json文件,可以參考目錄中的city.json,有條件的也可以自己去扒
功能分析
1.獲取json數(shù)據(jù)展示城市列表 。
2.側(cè)邊字母定位滾動到相應(yīng)的位置。
3.實(shí)現(xiàn)搜索城市
接下來我們開始對組件進(jìn)行劃分:本次案例中,總共劃分為五個(gè)組件,下面就是組件的劃分圖
創(chuàng)建city組件,通過父組件獲取數(shù)據(jù),傳遞給子組件
//頭部 //搜索 //城市列表
//A-Z
把得到的數(shù)據(jù)分次傳遞個(gè)對應(yīng)的子組件,這樣有利于網(wǎng)站優(yōu)化,不用頻繁的請數(shù)據(jù)
export default { data () { return { cities:{}, // 城市列表 hotCity:[], //熱門城市 letter: '' // A-Z } }, components: { CityHeader, Search, List, Alphabet }, methods:{ getCityInfo () { axios.get('/api/city.json').then(this.getCityInfoSucc) //請求本地配置的mock數(shù)據(jù) }, getCityInfoSucc(res){ res = res.data if (res.ret && res.data) { const data = res.data this.hotCity = data.hotCities this.cities = data.cities } } }, mounted () { this.getCityInfo () } }
創(chuàng)建頭部組件,
城市選擇
創(chuàng)建搜索組件頁面,接受父組件傳遞的數(shù)據(jù),引入better-scroll第三方插件,實(shí)現(xiàn)列表滾動
- {{item.name}}
- 沒有搜索到匹配的數(shù)據(jù)
創(chuàng)建城市列表組件,引入better-scroll插件,實(shí)現(xiàn)列表滾動,通過watch監(jiān)聽letter,實(shí)現(xiàn)字母與城市列表滾動
當(dāng)前城市鄭州熱門城市{{item.name}}{{key}}
- {{listInner.name}}
創(chuàng)建字母組件,點(diǎn)擊字母,左邊列表城市想對應(yīng),通過this.$emit
事件,子組件在觸發(fā)的事件傳遞給父組件,父組件通過子組件傳遞的事件,在傳遞給List組件,
{{item}}
關(guān)于“vue如何實(shí)現(xiàn)城市列表選擇功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。