课程列表前端(1)| 学习笔记

简介: 简介:快速学习课程列表前端(1)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程列表前端(1)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11474


课程列表前端(1)

 

内容介绍:

一、在 api 创建 js 文件,引入接口地址

二、在页面中进行调用

三、在分类中进行遍历

四、对课程进行 v-if 判断


一、在 api 创建 js 文件,引入接口地址

1、查询课程列表的方法

第一步操作,在 API 里面创建一个JS文件,引入接口地址,进入 API,在 API 中,创建课程,修改名字为 cos。

点击 JS,进行复制,复制之后修改一下方法,第一个方法为条件查询再分页,更换一下课程名字为 get。 

而在方法中,按照写过的接口,有三个参数,第一个参数是当前页,第二个为每月记录数,第三个是对象,所以有三个参数需要传递,然后写三个当前页每页技术和查询对象。

SearchObj 为查询对象的三个条件,接下来写一下接口地址,“/eduservice/coursefront”,详情请看代码。

@RestController

@RequestMapping("/eduservice/coursefront)

@CrossOrigin

public class CourseFrontController {

@Autowired

Private EduCourseService courseService:

//1 条件查询带分页查询课程

@PostMapping(“getFrontCourseList/{page}/{limit}")

public R getFrontCourseList (@PathVariable long page,  

@PathVariable long page

@RequestBody(required = false) CourseFrontVo courseFrontVo) {

Page<EduCourse> pageCourse = new Page<>(page,limit) ;

Map<String.Object> map = CourseService.

getCourseFontList(pageCourse,courseFrontVo) ;

//返回分页所有数据

return. R. ok().data(map);

}

2、查询所有分类的方法

//添加课程分类

//获取上传过来文件,把文件内容读取出来

@PostMapping("addSubject)

public R addSubject (MultiprtFile file) {

//上传过来excel文件

subjectService.saveSubject(file, subjectservice) ;

return R.ok() ;

}

//课程分类列表(树形)

@GetMapping("gerAllSubject)

public R getAlISubject()  {

//list集合泛型是一级分类

List<OneSubject> list = SUBJECTSERVICE

GetALLONEIWOSUBJECT ();

return R.ok().data(”list”,list);

getCourselist(page, limit , search0bj) {returnrequest({url: /eduservice/coursefront/ getFrontCourseList/${page}/${limit} ,

method:'post',data:search0bj})}

import request from ‘@/utils/request

export default { 

//条件分页课程查询的方法

getCourseList(page, limit, searchObj)

return request({

url: /eduservice/coursefront/getFrontCourseList/

${page}/${limit} ,

method:post,

data:  searchObj

} )

//讲师详情的方法

getTeacherInfo(id) { 

return request( {

url:/eduservice/teacherfront/getTeacherFrontInfo/${id}’,

method: get 

} )

 

二、在页面中进行调用

课程列表页面,在 course 里面有一个 index 目录,就是课程列表。

先引入 course

第一个 page 代表当前页,然后第二个 data 这个值,就是课程列表的数值,写数字、写对象都可以,第三个是一级分类列表,

还有一个二级分类,下面这部分代表二级分类里边有这个,这个是一级分类的集合,还有二级分类集合,下面还有一个叫 SearchObj 是查询条件的表单对象。

点击外语考试,下面显示二级分类,点价格最新(包括关注度等值),每次点击这个值都有颜色的变化。比如这个外语考试变成红色,点价格,它的背景色变成绿色,把直线放置,条件查询,选中效果值,红色变成绿色。

初始值就可以定出。接下来写方法,首先用密布结构来写。

import courseApi from @/api/course'

exportdefault{data({return{page:1,//当前页

data:{},//课程列表

subjectNestedList:[ ], // 一级分类列表

subSubjectList: [ ], //二级分类列表

searchobj:{}, //查询表单对象

oneIndex:-1, twoIndex:-1,buyCountSort:"",gmtCreateSort:"",priceSort:""

}

},

created() {

//课程第一次查询

this.initCourseFirst( )

//一级分类显示

this.initSubject( )

},

methods:{

//1 查询第页数据

initCourseFirst(){courseApi.getCourselist(1,8,this.search0bj).then(response => {

this.data=response.data.data    } )

},

//2 查询所有一级分类

initSubject(){courseApi.getAllSubject().then(response=>{this. subjectNestedList = response.data.data.list

})

},

//3分页切换的方法

gotoPage(page) {

courseApi.getCourseList(page,8,this.search0bj).

then( response => {

this.data=response.data.data    })

}

};

</script>

 

三、在分类中进行遍历

在页面位置中,首先找到“课程类别”—显示所有的一级分类,下面的位置会显示课程数据。

<li v-for="(item, index)in subjec tNestedL ist" : key="index"><a title="数据库"

href="#">{{item.title}}</a></li>

<ulclass-"clearfix"><liv-for="(item, index) in subSubjectlist" :key=" index">

<a title="职称英语"

href="#">{{item.title}}</a></li>

<!-- /无数据提示结束-->

<article v-if="data. total>0" class="comm-course- list"><ulclass="of"id="bna"><liv-for-"itemindata.items":key="item.id"><divclass="cc-l-wrap"><sectionclass="course-img"><img :src="item.cover" class=" img- responsive" :alt=" item. title"><divclass="cc-mask"><а hrеf="/соurѕе/1" tіtlе="开始学习" сlаѕѕ="соmm-btn с-btn-1">开始学习</а>

</div>section><h3class="hLh30txt0fmt10"><a href=" /course/1" :title="item. title" class="course-title fsize18 c-333">{{item.title}}</a>

</h3>

 

四、对课程进行 v-if 判断

<!-- /无数据提示开始-->

<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><!-- /无数据提示结束-->karticlev- if="data. total>0" class="comm-course-list"><ul class="of" id="bna">

相关文章
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
361 0
|
10月前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
345 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
存储 开发框架 前端开发
在Vue&Element前端项目中,对于字典列表的显示处理
在Vue&Element前端项目中,对于字典列表的显示处理
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`&lt;ul&gt;`嵌套`&lt;li&gt;`)、有序列表(`&lt;ol&gt;`嵌套`&lt;li&gt;`)和定义列表(`&lt;dl&gt;`嵌套`&lt;dt&gt;`和`&lt;dd&gt;`)。
305 20
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
346 11
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
177 13
|
存储 开发框架 前端开发
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1069 14
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
494 6

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    587
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    238
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    226
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    167
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    277
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    409
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    177
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    112
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    192
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    262