vue-project

本文最后更新于:7 个月前

项目一些思路

一. 项目基本设置

1.1. 目录结构

  • network
  • components -> common/content
  • pages -> 路由分层
  • common
  • assets
  • router
  • store

1.2. 设置CSS初始化和全局样式

  • initialize.css
  • base.css

1.3. tabbar的封装

  • 封装HYTabbar
  • 封装HYTabbarItem
  • 响应点击切换的设计
  • 封装完成后,使用时对HYTabbar重新包装

1.4. axios的封装

  • 创建axios实例
  • 拦截响应,返回.data数据
  • 根据传入的options发送请求,并且调用对应resolve和reject

二. 首先开发

2.1. navbar的封装和使用

  • 封装navbar包含三个插槽:left、center、right
  • 设置navbar相关的样式
  • 使用navbar实现首页的导航栏

2.2. 请求首页数据

  • 封装请求首页更多数据
  • 将banner数据放在banners变量中
  • 将recommend数据放在recommends变量中

2.3. 根据Swiper封装HomeSwiper

  • 使用Swiper和SwiperItem
  • 传入banners进行展示

2.4. 封装FeatureView

  • 传入recommends数据,进行展示

2.5. 封装RecommendView

  • 展示一张图片即可

2.6. 封装tabControl

  • 基本结构的封装
  • 监听点击

2.7. 请求和保存商品数据

  • 定义goodsList变量,用于存储请求到的商品数据
  • 根据type和page请求商品数据
  • 将商品数据保存起来

2.8. 封装GoodsList和GoodsListItem

  • 展示商品列表,封装GoodsList
  • 列表中每一个商品,封装GoodsListItem
  • 注意CSS属性的设置即可

2.9. 滚动的封装Scroll

  • 学习BetterScroll的使用
  • 安装better-scroll
  • 封装一个独立的组件,用于作为滚动组件:Scroll
  • 组件内代码的封装:
    • 1.创建BetterScroll对象,并且传入DOM和选项(probeType、click、pullUpLoad)
    • 2.监听scroll事件,该事件会返回一个position
    • 3.监听pullingUp事件,监听到该事件进行上拉加载更多
    • 4.封装刷新的方法:this.scroll.refresh()
    • 5.封装滚动的方法:this.scroll.scrollTo(x, y, time)
    • 6.封装完成刷新的方法:this.scroll.finishedPullUp

2.10. 上拉加载更多

  • 通过Scroll监听上拉加载更多。
  • 在Home中加载更多的数据。
  • 请求数据完成后,调动finishedPullUp

2.11. 返回顶部

  • 封装BackTop组件
  • 定义一个常量,用于决定在什么数值下显示BackTop组件
  • 监听滚动,决定BackTop的显示和隐藏
  • 监听BackTop的点击,点击时,调用scrollTo返回顶部

2.12. tabControl的停留

  • 重新添加一个tabControl组件(需要设置定位,否则会被盖住)
  • 在updated钩子中获取tabControl的offsetTop
  • 判断是否滚动超过了offsetTop来决定是否显示新添加的tabControl

vue-project
https://lunasaw.github.io/2020/09/27/vue-project/
著者
luna
作成日
2020年9月27日
著作権