vue-cli实现《去哪儿旅行》App笔记(二)城市选择页
城市选择页共有4部分:头部、搜索框、列表和字母表

设置路由
在router/index.js中设置城市选择页的路由
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/pages/home/Home'
import City from '@/pages/city/City'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/city',
name: 'City',
component: City
}
]
})
在Header.vue中为右侧按钮添加跳转链接:
<router-link to="/city">
<div class="header-right">
{
{city}}<span class="iconfont arrow"></span>
</div>
</router-link>
头部
新建pages/city目录,添加City.vue文件和components/header.vue文件
City.vue代码:
<template>
<div>
<city-header></city-header>
</div>
</template>
<script>
import CityHeader from './components/header'
export default {
name: 'City',
components: {
CityHeader
}
}
</script>
<style>
</style>
header.vue代码:
<template>
<div class="header">
<router-link to="/">
<div class="iconfont back-icon"></div>
</router-link>
城市选择
</div>
</template>
<script>
export default {
name: 'CityHeader'
}
</script>
<style lang="stylus" scoped>
@import '~styles/varibles.styl'
.header
position: relative
overflow: hidden
line-height: $headerHeight
text-align: center
color: #fff
background: $bgColor
.back-icon
position: absolute
left: .12rem
font-size: .4rem
color: #fff
</style>
搜索框
创建search.vue文件,代码:
<template>
<div class="search">
<input class="search-input" type="text" placeholder="请输入城市名或拼音">
</div>
</template>
<script>
export default {
name: 'CitySearch'
}
</script>
<style lang="stylus" scoped>
@import '~styles/varibles.styl'
.search
height: .72rem
background: $bgColor
padding: 0 .1rem
.search-input
box-sizing: border-box
padding: 0 .1rem
width: 100%
line-height: .62rem
text-align: center
border-radius: .06rem
color: #666
</style>
列表、better-scroll插件和字母表
<template>
<div class="list" ref="content">
<div>
<div class="area">
<div class="title border-topbottom">当前城市</div&g