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"> </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)"
><</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)"
>></a>
<a
:class="{undisable: !data.hasNext}"
href="#"
title="末页"
@click.prevent="gotoPage(data.pages)"
>末</a>
<div class="clear"/>
</div>
</div>
<!-- 公共分页 结束 -->
</section>
</section>
<!-- /讲师列表 结束 -->
</div>
</template>