课程管理-删除章节 | 学习笔记

简介: 简介:快速学习课程管理-删除章节

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

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


课程管理-删除章节


内容介绍

一、删除章节

二、测试功能


一、删除章节

image.png

首先将页面网址:http://localhost:9528/#/course/info 中 info 更改为chapter/1234722014930178049,回到编辑课程大纲页面。

l 之后查看 chapter.vue 其中25行代码的删除按钮。删除操作是

l 根据 id 来进行删除操作,所以将其绑定事件:添加@click="removeChapter(chapter.id)",同时在方法中传入章节 id。removeChapter()表示删除的方法,chapter.id 为传入的参数值。

l 代码如下

<el-button type="text" @click="removeChapter(chapter.id)">删除</el-button>

1.点击删除后提示确认框的实现

之后在 chapter.vue 88行代码的 method 中定义删除方法并编写具体实现步骤。借鉴 teacher list 删除讲师的代码(134行),把其中的 removeDataById(id)方法体复制进行更改来实现点击删除按钮后的弹窗,弹窗中包含确认和取消。

l removeDataById()方法体

removeDataById(id){

this.$confirm('此操作将水久删除讲师记录,是否继续?','提示'{

confirmButtonText:‘确定'

cancelButtonText :'取消'

type: 'warning'

}).then(() => {//点击确定,执行then方法

//调用删除的方法

teacher.deleteleacherId(id)

.then( response =>{//删除成功

//提示信息

this.$message({

type: success,

message:‘删除成功!

});

//回到列表页面

this.getList()

})

})//点击取消,执行catch方法

}

l Chapter method 中添加的代码:

//删除章节

removeChapter(chapterId){

//首先弹出提示确认框,提示此操作将删除章节,是否继续?

this.$confirm('此操作将删除章节,是否继续?','提示'{

confirmButtonText:‘确定'

cancelButtonText :'取消'

type: 'warning'

}).then(() => {//如果点击确定,执行then方法

//调用删除的方法,在此为 chapter 中的删除章节方法 deleteChapter(chapterId),同时传入的参数为章节 id

chapter.deleteChapter(chapterId)

.then( response =>{//删除成功

//提示信息

this.$message({

type: success,

message:‘删除成功!

});

//刷新页面,与 addChapter()添加章节中的一样。

this.getChapterVideo()

})

})//点击取消,执行catch方法

},

2.总结:

删除章节,根据传入的形参 chapterId 即章节 id,首先提示确认的弹窗。

当选择确认时,执行 then 方法,调用删除方法同时传入课程 id 作为形参:chapter.deleteChapter(chapterId),删除成功后提示相关信息。最后使用addChapter()添加章节中的刷新页面的方法 this.getChapterVideo()


二、测试功能

1.测试过程

此时课程大纲中还未添加小节,如果添加小节后。有小节则提示不能删除,没有小节才可以直接删除。在此都应该可以删除。我们进行测试同时查看接口代码是否正确。

首先点击删除,看到显示确认的弹窗,点击取消,弹窗便会消失,回到原来的页面。

当点击确认时,发现并未成功删除,同时系统提示报错。

image.png

2.chapter 拼写错误

通过报错信息(如图),得知时因为 chatper 没有做定义。出现该情况大多时单词或者调用出现问题。点击黑色下划线部分,可以跳转到提示部分,但行数不一定准确,但错误常在上几行代码或下几行可以作为参考。将 chapter 复制下来,一行行筛选可以发现,报错原因是:chapter.vue 97行代码中 chatper 拼写错误,正确拼写为 chapter

image.png

97行代码错误:

×chatper.deleteChapter(chapterId)

97行正确代码:

chapter.deleteChapter(chapterId)//chatper改为chapter

3.  最终测试

点击 ctrlF5 刷新页面,点击第一章的删除按钮,点击继续。最后显示第一张被成功删除。

image.png

依次再删除第二章,测试效果。可以看到第二章也被成功删除。

4.  小问题

在添加章节时,表单数据每次都需要清空,因为是在弹窗的时候每次都将其清空了。同时添加章节时需要设置课程 id,若不设置表中的数据使其为空,就会报错,因为表中的数据为 Not NULL 不为空。

image.png

5.章节的添加修改删除

1)删除章节:

如果章节里面没有小节,直接删除

如果章节里面有小节,如何删除?

第一种删除章节时候,把章节里面所有小节都删除

第二种如果到除的章节下面有小节,不让进行册除

////删除章节的方法

@override

public boolean deleteChapter(String chapterld){

//根据chapterid章节id查询小节表,如巢查询袭据,不进行删除QueryWrapper<EduVideo> wrapper = new QueryWrapper<>();

wrapper.eq""chapter_id",chapterld);

int count = videoService.count(wrapper);

//判断

if(count >0){//查询出小节,不进行删除

throw new GuliException(20001,"不能删除");

}else {//不能查询数据,进行删除

//删除章节

相关文章
|
数据库 开发者 微服务
课程管理-修改章节 | 学习笔记
简介:快速学习课程管理-修改章节
102 0
课程管理-修改章节 | 学习笔记
|
前端开发 数据库 开发者
课程管理-添加和删除小节 | 学习笔记
简介:快速学习课程管理-添加和删除小节
144 0
课程管理-添加和删除小节 | 学习笔记
|
前端开发 API 数据库
课程管理-添加章节(前端) | 学习笔记
简介:快速学习课程管理-添加章节(前端)
113 0
课程管理-添加章节(前端) | 学习笔记
|
JSON 前端开发 JavaScript
课程管理-修改课程信息(前端)| 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
255 0
课程管理-修改课程信息(前端)| 学习笔记
|
前端开发 API 数据库
课程管理-添加小节 | 学习笔记
简介:快速学习课程管理-添加小节
192 0
课程管理-添加小节 | 学习笔记
|
前端开发 API 数据库
课程管理-删除视频前端 | 学习笔记
简介:快速学习课程管理-删除视频前端
131 0
课程管理-删除视频前端 | 学习笔记
|
存储 前端开发 JavaScript
课程管理-修改课程信息(前端) | 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
课程管理-修改课程信息(前端) | 学习笔记
|
前端开发 数据库 开发者
课程管理-修改课程信息(后端) | 学习笔记
简介:快速学习课程管理-修改课程信息(后端)
133 0
课程管理-修改课程信息(后端) | 学习笔记
|
存储 前端开发 JavaScript
课程管理-修改课程信息(最终实现) | 学习笔记
简介:快速学习课程管理-修改课程信息(最终实现)
204 0
课程管理-修改课程信息(最终实现) | 学习笔记
|
开发者 微服务
课程管理-删除课程(后端) | 学习笔记
简介:快速学习课程管理-删除课程(后端)
211 0
课程管理-删除课程(后端) | 学习笔记