名师列表前端

1、在api目录下创建teacher.js文件,定义讲师接口

java 复制代码
import request from '@/utils/request'
export default {
  //查询讲师列表带分页
  getFrontTeacherList(current,limit){
    return request({
      url: `/eduservice/teacherapi/getFrontTeacherList/${current}/${limit}`,
      method: 'get'
    })
  },
  //查询讲师详情
  getTeacherInfo(id){
    return request({
      url: `/eduservice/teacherapi/getTeacherInfo/${id}`,
      method: 'get'
    })
  }
}

2、在讲师列表页面调用接口实现列表功能

(1)在teacher.vue页面实现js方法

java 复制代码
<script>
import teacher from "@/api/teacher"
export default {
  //异步请求操作
  //params:this.$route.params
  asyncData({params,error}){
      //调用接口
      return teacher.getFrontTeacherList(1,8).then(response=>{
        //得到返回的map集合
        //this.data = response.data.data
        return {
          data:response.data.data
        }
      })
  },
  methods: {
    //分页方法
    gotoPage(page){
      teacher.getFrontTeacherList(page,8).then(response=>{
        this.data =response.data.data 
      })
    }

  }

};
</script>

(2)改造teacher.vue页面元素

java 复制代码
<template>
  <div id="aCoursesList" class="bg-fa of">
    <!-- 讲师列表 开始 -->
    <section class="container">
      <header class="comm-title all-teacher-title">
        <h2 class="fl tac">
          <span class="c-333">全部讲师</span>
        </h2>
        <section class="c-tab-title">
          <a id="subjectAll" title="全部" href="#">全部</a>
          <!-- <c:forEach var="subject" items="${subjectList }">
                            <a id="${subject.subjectId}" title="${subject.subjectName }" href="javascript:void(0)" onclick="submitForm(${subject.subjectId})">${subject.subjectName }</a>
          </c:forEach>-->
        </section>
      </header>
      <section class="c-sort-box unBr">
        <div>
          <!-- /无数据提示 开始-->
          <section class="no-data-wrap" v-if="data.total==0">
            <em class="icon30 no-data-ico">&nbsp;</em>
            <span class="c-666 fsize14 ml10 vam">没有相关数据,小编正在努力整理中...</span>
          </section>
          <!-- /无数据提示 结束-->
          <article class="i-teacher-list" v-if="data.total>0">
            <ul class="of">
              <li v-for="(teacher,index) in data.items" :key="index">
                <section class="i-teach-wrap">
                  <div class="i-teach-pic">
                    <a href="/teacher/1" :title="teacher.name" target="_blank">
                      <img :src="teacher.avatar" alt>
                    </a>
                  </div>
                  <div class="mt10 hLh30 txtOf tac">
                    <a
                      href="/teacher/1"
                      :title="teacher.name"
                      target="_blank"
                      class="fsize18 c-666"
                    >{{teacher.name}}</a>
                  </div>
                  <div class="hLh30 txtOf tac">
                    <span class="fsize14 c-999">{{teacher.intro}}</span>
                  </div>
                  <div class="mt15 i-q-txt">
                    <p class="c-999 f-fA">{{teacher.career}}</p>
                  </div>
                </section>
              </li>
            </ul>
            <div class="clear"></div>
          </article>
        </div>
        <!-- 公共分页 开始 -->
        <div>
          <div class="paging">
            <!-- undisable这个class是否存在,取决于数据属性hasPrevious -->
            <a
              :class="{undisable: !data.hasPrevious}"
              href="#"
              title="首页"
              @click.prevent="gotoPage(1)"
            >首</a>
            <a
              :class="{undisable: !data.hasPrevious}"
              href="#"
              title="前一页"
              @click.prevent="gotoPage(data.current-1)"
            >&lt;</a>
            <a
              v-for="page in data.pages"
              :key="page"
              :class="{current: data.current == page, undisable: data.current == page}"
              :title="'第'+page+'页'"
              href="#"
              @click.prevent="gotoPage(page)"
            >{{ page }}</a>
            <a
              :class="{undisable: !data.hasNext}"
              href="#"
              title="后一页"
              @click.prevent="gotoPage(data.current+1)"
            >&gt;</a>
            <a
              :class="{undisable: !data.hasNext}"
              href="#"
              title="末页"
              @click.prevent="gotoPage(data.pages)"
            >末</a>
            <div class="clear"/>
          </div>
        </div>
        <!-- 公共分页 结束 -->
      </section>
    </section>
    <!-- /讲师列表 结束 -->
  </div>
</template>
相关推荐
蓝田~7 分钟前
SpringBoot-自定义注解,拦截器
java·spring boot·后端
M_emory_8 分钟前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
theLuckyLong8 分钟前
SpringBoot后端解决跨域问题
spring boot·后端·python
.生产的驴9 分钟前
SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
java·spring boot·后端·spring·spring cloud·gateway·rabbitmq
Ciito11 分钟前
vue项目使用eslint+prettier管理项目格式化
前端·javascript·vue.js
小扳13 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
v'sir23 分钟前
POI word转pdf乱码问题处理
java·spring boot·后端·pdf·word
李少兄27 分钟前
解决Spring Boot整合Redis时的连接问题
spring boot·redis·后端
成都被卷死的程序员44 分钟前
响应式网页设计--html
前端·html
mon_star°1 小时前
将答题成绩排行榜数据通过前端生成excel的方式实现导出下载功能
前端·excel