每时每刻项目总结

第一步:分析页面

1.配置相关基础配置

导入vant组件

import '../src/utils/vant'

导入rem

import 'lib-flexible'

配置全局路由钩子

// 全局路由钩子
router.beforeEach((to, from, next) => {
    document.title = to.meta.title || 'msmk' //标题
    next()
})

2.在views下面创建tabbar,点击可以跳转页面,并且在router的index.js文件中配置页面路由


    <div>
        <van-tabbar route active-color="#ee0a24" inactive-color="#000">
            <van-tabbar-item replace to="/index" icon="wap-home-o">首页</van-tabbar-item>
            <van-tabbar-item replace to="/course" icon="orders-o">课程</van-tabbar-item>
            <van-tabbar-item replace to="/record" icon="edit">预约记录</van-tabbar-item>
            <van-tabbar-item replace to="/practice" icon="records">练习</van-tabbar-item>
            <van-tabbar-item replace to="/login" icon="friends-o" @click="login">我的
            </van-tabbar-item>
        </van-tabbar>
    </div>

3.在首页一共有5个页面,首页,课程,约课记录,学习,我的

(一).首页

在首页里面有轮播图区域,tab区域,以及数据渲染区域三部分

1.轮播图

在components下面创建index文件夹,在创建swiper轮播图页面,根据请求接口,把数据渲染出来

        <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
            <van-swipe-item v-for="item in banner" :key="item.link_content">
                <img style="width:100%;height:100%;" :src="item.banner_img" />
            </van-swipe-item>
        </van-swipe>
export const banners = () => Fetch.get("/banner")

2.tab栏数据,布局自己渲染就可以,就是样式的排版问题了

<div class="title">
       <ul>
           <li @click="$router.push('/course')">
           <van-icon name="balance-list" color="#ee0a24"/>
           <p>特色课</p>
           </li>
            <li>
           <van-icon name="cart" color="#73b3a5"/>
           <p>一对一辅导</p>
           </li>
            <li>
           <van-icon name="todo-list" color="#d88f72"/>
           <p>学习日历</p>
           </li>
        </ul> 
    </div>

3.数据列表的渲染,资深讲师,推荐课程,都是调用接口,然后根据页面结构排版,排完版之后请求接口,把返回的数据存在变量里面,然后用v-for循环遍历到页面上就行


export const tearchs=()=>Fetch.get('/recommend/appIndex')
<div class="teacher" >
        <div class="box" v-for="(item,index) in teachers" :key="index">
        <div class="top">
          <span> {
  {item.channel_info.name}} </span>
        </div>
        <ul >
            <li v-for="ite in item.list" :key="ite.teacher_id" v-show="ite.teacher_id" @click="$router.push('/teacherDetail?id='+ite.teacher_id)">
              <img :src="ite.teacher_avatar" alt="">
            <div class="right">
               <p>{
  {ite.teacher_name}}</p>
               <p>{
  {ite.introduction}}</p>
            </div>
            </li>
        </ul>
        <dl>
            <dd v-for="ite in item.list" :key="ite.id" v-show="ite.id"  @click="$router.push('/courceDetail?id='+ite.id)">
             
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值