名师列表前端

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>
相关推荐
大莲芒3 小时前
react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析--react17
前端·react.js·前端框架
木木黄木木5 小时前
html5炫酷3D文字效果项目开发实践
前端·3d·html5
慕容莞青5 小时前
MATLAB语言的进程管理
开发语言·后端·golang
陈明勇5 小时前
用 Go 语言轻松构建 MCP 客户端与服务器
后端·go·mcp
Li_Ning215 小时前
【接口重复请求】axios通过AbortController解决页面切换过快,接口重复请求问题
前端
胡八一6 小时前
Window调试 ios 的 Safari 浏览器
前端·ios·safari
Dontla6 小时前
前端页面鼠标移动监控(鼠标运动、鼠标监控)鼠标节流处理、throttle、限制触发频率(setTimeout、clearInterval)
前端·javascript
再学一点就睡6 小时前
深拷贝与浅拷贝:代码世界里的永恒与瞬间
前端·javascript
CrimsonHu6 小时前
B站首页的 Banner 这么好看,我用原生 JS + 三大框架统统给你复刻一遍!
前端·javascript·css
Enti7c6 小时前
前端表单输入框验证
前端·javascript·jquery