名师列表前端

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>
相关推荐
q***71857 分钟前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
大象席地抽烟14 分钟前
使用 Ollama 本地模型与 Spring AI Alibaba
后端
程序员小假17 分钟前
SQL 语句左连接右连接内连接如何使用,区别是什么?
java·后端
小坏讲微服务18 分钟前
Spring Cloud Alibaba Gateway 集成 Redis 限流的完整配置
数据库·redis·分布式·后端·spring cloud·架构·gateway
Fantasydg19 分钟前
Request Response对象
前端
Wect21 分钟前
学习React-DnD:核心组件与Hooks
前端
humors22126 分钟前
前端开发案例(不定期更新)
前端·vue.js·elementui·ruoyi·若依
菠萝+冰28 分钟前
npm中-d -g 和默认安装的区别
前端·npm·node.js
方圆想当图灵1 小时前
Nacos 源码深度畅游:Nacos 配置同步详解(下)
分布式·后端·github
一路向北North1 小时前
网页版预编译SQL转换工具
前端·javascript·sql