這篇文章將為大家詳細講解有關vue如何實現(xiàn)城市列表選擇功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)站空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設計、彝良網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。Vue是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復雜的單頁應用。
成果展示
準備工作:
引入axios插件,調(diào)用better-scroll第三方插件,本地json文件,可以參考目錄中的city.json,有條件的也可以自己去扒
功能分析
1.獲取json數(shù)據(jù)展示城市列表 。
2.側(cè)邊字母定位滾動到相應的位置。
3.實現(xiàn)搜索城市
接下來我們開始對組件進行劃分:本次案例中,總共劃分為五個組件,下面就是組件的劃分圖
創(chuàng)建city組件,通過父組件獲取數(shù)據(jù),傳遞給子組件
//頭部 //搜索 //城市列表
//A-Z
把得到的數(shù)據(jù)分次傳遞個對應的子組件,這樣有利于網(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第三方插件,實現(xiàn)列表滾動
- {{item.name}}
- 沒有搜索到匹配的數(shù)據(jù)
創(chuàng)建城市列表組件,引入better-scroll插件,實現(xiàn)列表滾動,通過watch監(jiān)聽letter,實現(xiàn)字母與城市列表滾動
當前城市鄭州熱門城市{{item.name}}{{key}}
- {{listInner.name}}
創(chuàng)建字母組件,點擊字母,左邊列表城市想對應,通過this.$emit
事件,子組件在觸發(fā)的事件傳遞給父組件,父組件通過子組件傳遞的事件,在傳遞給List組件,
{{item}}
關于“vue如何實現(xiàn)城市列表選擇功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。