miste页面
点击城市地址转跳msite页面。miste页面分为三个部分,分别是头部地址展示、食品分类列表展示和商铺列表展示。食品分类列表使用Swiper插件做轮播图展示,接下来就来了解如何使用Swiper。
Swiper的应用
Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。
在package.json中配置swiper
|
|
安装依赖
|
|
在需要的组件中引入Swiper就可以使用了!
|
|
头部地址展示
引入e-header组件
|
|
在data中定义msiteTitle
表示城市地址,以及其他相关属性
|
|
通过引入msiteAdress()
方法获取当前地址的相关数据
|
|
页面地址展示:
食品分类列表展示
上面已经说过,使用Swiper做展示。接着看以下代码渲染以及使用swiper
|
|
data中定义foodTypes
表示为食品分类列表,在页面中使用v-for对foodTypes
进行遍历,得到每个item
,然后对item再进行遍历,得到每个foodItem
以此使用foodItem
里的属性进行数据填充渲染。
初始化swiper
|
|
抓取数据
对饿了么官网进行数据抓取,在webpack.dev.conf.js添加以下代码:
webpack.dev.conf.js
|
|
设置访问参数
msite.js
|
|
在msite组件中引入msiteFoodTypes
方法,得到数据进行渲染。
msite.vue
|
|
页面展示:
商铺列表展示
由于商铺列表在其他组件中也可能用到,所以单独作为基础组件。
基础组件shop-list.vue
基础代码:
|
|
props
一个良好定义的接口中尽可能将父子组件解耦是很重要的。这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性。在vue里,父组件通过 props 向下传递数据给子组件。组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。要让子组件使用父组件的数据,需要通过子组件的 props 选项。
|
|
shopListArr
表示店铺列表数据。
在msite组件中引入shop-list组件
|
|
动态绑定数据
在模板中,要动态地绑定父组件的数据到子模板的 props,与绑定到任何普通的HTML特性相类似,就是用 v-bind
。每当父组件的数据变化时,该变化也会传导给子组件。这里使用:geohash
和:shopListArr
动态的绑定数据,同时在data中定义geohash和shopListArr属性
|
|
抓取数据
在webpack.dev.conf.js添加以下代码:
webpack.dev.conf.js
|
|
设置访问参数
msite.js
|
|
在msite组件中引入shopList
方法,获得数据。
msite.vue
|
|
页面展示