《vue3实战》在created生命周期中运用slice()方法结合element plus组件实现电影评价系统的分页

news/2024/5/9 14:45:35/文章来源:https://blog.csdn.net/weixin_58070962/article/details/132420184


目录

前言

电影评价系统的分页是什么?它具体的作用体现在哪些方面?

一、slice的含义、语法和作用以及created的作用

slice是什么?slice有什么语法?slice的作用体现在哪些方面?

created生命周期的作用:

二、功能实现

以下是在created生命周期的代码和分析:

以下是结合Element plus组件的代码和分析:

三、最终效果图

第一页图:

第二页图:

最后一页图:

四、代码部分(可复制粘贴)

总结


前言

电影评价系统的分页是什么?它具体的作用体现在哪些方面?

含义:

电影评价系统的分页是指将大量的电影评价数据分成多个页面展示,以便用户可以分批次查看和浏览。分页通常通过一页显示多少条数据和提供翻页功能来实现。

作用:

  1. 提高用户体验:当电影评价数据非常庞大时,一次性展示全部数据会导致页面加载缓慢,给用户造成不良体验。通过分页功能,用户可以在不同页面中按需加载和浏览数据,提高整体的用户体验。

  2. 加载时间优化:分页功能将大量的电影评价数据划分成多个页面,每次只加载当前页面的数据,减少了页面加载的数据量,加快了页面加载速度。

  3. 方便筛选和浏览:分页功能使用户可以根据自己的需求,便捷地筛选和浏览电影评价数据。用户可以翻页浏览更多数据,或者跳转到指定页面查看特定范围的数据。

  4. 易于导航:分页功能提供翻页按钮和页码输入框等导航元素,用户可以直观地进行页面导航,快速切换到所需页面。

  5. 数据量控制和性能优化:通过分页功能,可以控制每页显示的数据量,避免一次性加载过多数据而导致系统性能下降,从而保持系统的稳定性和响应性。


一、slice的含义、语法和作用以及created的作用

slice是什么?slice有什么语法?slice的作用体现在哪些方面?

含义:

slice是JavaScript中常用的数组方法之一。它用于创建一个新的数组,其中包含从原始数组中指定位置开始(包括该位置)到结束位置(不包括该位置)的所有元素。

语法:

array.slice(start, end)

其中,start表示开始位置的索引,end表示结束位置的索引(不包括该索引),两个参数均为可选参数。如果不提供start参数,默认从0位置开始;如果不提供end参数,默认到原始数组的末尾。该方法不会修改原始数组,而是返回一个新的数组。

作用:

  1. 提取数组中指定范围的元素,并生成一个新的子数组。
  2. 对数组进行分割,以便进行部分操作或逻辑处理,同时不改变原始数组的结构。
  3. 根据特定条件获取数组的子集。
  4. 对数组的浅拷贝,即创建一个与原始数组相同的新数组。

created生命周期的作用:

created生命周期的作用是在Vue实例创建完成后,可以进行一些初始化的操作,例如数据的请求、监听事件、对数据的处理等。在created生命周期中,Vue实例已经完成了数据观测(data observer)和编译(compile),但是还未进行DOM的挂载(mount),因此无法访问到DOM元素。

在created生命周期中,我们可以进行以下操作:

  1. 初始化数据:在created生命周期中,可以对数据进行初始化操作,例如从服务器获取数据并赋值给data中的某个属性。
  2. 事件监听:在created生命周期中,可以通过on方法监听事件,然后在其他地方通过on方法监听事件,然后在其他地方通过emit方法触发事件。这样可以实现组件之间的通信。
  3. 处理异步操作:在created生命周期中,可以执行一些异步操作,例如请求数据或启动定时器。需要注意的是,如果是异步操作,需要使用Promise或async/await来处理异步回调。
  4. 第三方库的初始化:在created生命周期中,可以初始化一些第三方库,例如初始化地图、图表等插件。
  5. 发送请求:在created生命周期中,可以发送网络请求获取数据,并将数据赋值给data中的某个属性。

二、功能实现

以下是在created生命周期的代码和分析:

分析: 

在created生命周期钩子中,首先将总数据条数赋值给total变量,然后根据用户选择的页面数和每页显示的数据条数,计算出当前页面显示的数据范围,并将这部分数据赋值给pageMess变量。
具体的分页逻辑如下:
1.首先将总数据条数赋值给total变量,用于计算分页的总页数。
2.通过用户选择的页面数和每页显示的数据条数,计算出要显示的数据范围:
使用userPage(表示用户所在的页码)和pageSize(表示每页显示的数据条数)来计算出当前页3面显示的数据的起始位置和结束位置。 
3.起始位置计算公式为 start = (userPage - 1) * pageSize。 
4.结束位置计算公式为 end = userPage * pageSize。

以下是结合Element plus组件的代码和分析:

分析:

1.v-model:current-page=“userForm.page.userPage”:将当前页数与 userForm.page.userPage 进行双向绑定,即当用户改变页数时,userForm.page.userPage 的值也会随之改变。

2.v-model:page-size=“userForm.page.pageSize”:将每页显示的数量与 userForm.page.pageSize 进行双向绑定,即当用户改变每页显示的数量时,userForm.page.pageSize 的值也会随之改变。

3.:small=“true”:设置分页组件为小型样式,显示更紧凑的界面。

4.:background=“true”:将分页组件的背景颜色设置为透明。

5.layout=“prev, pager, next, jumper”:设置分页组件的布局,包括前一页按钮(prev)、页码(pager)、后一页按钮(next)和跳转到指定页的输入框(jumper)。

6.:total=“total”:设置总记录数,用于计算总页数。

通过以上配置,该分页组件就可以实现根据用户操作切换页码和每页显示数量的功能,并且可以显示合适的分页样式。

三、最终效果图

第一页图:

第二页图:

最后一页图:

 

四、代码部分(可复制粘贴)

<div><div class="demo-pagination-block" style="margin-top: -30px"><div class="demonstration"></div><el-paginationv-model:current-page="userForm.page.userPage"v-model:page-size="userForm.page.pageSize":small="true":background="true"layout="prev, pager, next, jumper":total="total"/></div>

 created() {this.total = this.courses.lengthlet start = (this.userForm.page.userPage - 1) * this.userForm.page.pageSize;let end = (this.userForm.page.userPage * this.userForm.page.pageSize);this.pageMess = this.courses.slice(start, end);},

总结

    总的来说,分页功能可以提高用户体验,减少加载时间,方便用户浏览和筛选电影评价数据。

    在电影评价系统中,分页功能可以根据数据库中的电影数据总量,以及每页显示的电影数量,计算出总共需要多少个页面。用户可以通过点击上一页、下一页、首页、末页或者手动输入页码等方式进行页面切换。每个页面上显示的电影评价信息包括电影名称、评分、评论内容等。

    这篇博客展现了电影评价系统的分页功能,以后还会给大家展现更多关于电影评价系统的其他功能的实现,感谢大家多多支持!

    希望这篇博客能给各位朋友们带来帮助,最后请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_348483.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言学习】指针变量

一、运算符& 1.&运算符可以获得变量的地址&#xff0c;它的操作数必须是变量 int i; printf("%x",&i);2.地址的大小是否与int相同取决于编译器 int i; printf("%p",&i);//%p以32进制输出i的地址二、指针变量 指针变量是保存地址的变量…

precision指标的average参数

同样适用于recall、F1 分类任务种类 先说一下分类任务分几种&#xff0c;分类任务主要分为二分类、多分类和多标签这三种。 现在假设我们有一个样本&#xff0c;叫s 二分类是最常见的&#xff0c;将s分给A或B这两类。 多分类是将s分给A或B或C或更多的类别。 多标签是有A、B、…

VSCode如何为远程安装预设(固定)扩展

背景 在使用VSCode进行远程开发时&#xff08;python开发之远程开发工具选择_CodingInCV的博客-CSDN博客&#xff09;&#xff0c;特别是远程的机器经常变化时&#xff08;如机器来源于动态分配&#xff09;&#xff0c;每次连接新的远程时&#xff0c;都不得不手动安装一些开…

【网络基础实战之路】VLAN技术在两个网段中的实际应用详解

系列文章传送门&#xff1a; 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…

laravel aws s3

由于公司有境外项目&#xff0c;服务器、文件存储都是用的亚马逊&#xff0c;真真地是没有用过&#xff0c;在此记录一下自己的s3研究结果 Laravel - aws - s3 第一步创建用户&#xff0c;生成秘钥&#xff1a; 第二步创建存储桶&#xff1a; 1、创建存储桶时&#xff0c;以下…

html动态爱心代码【一】(附源码)

前言 七夕马上就要到了&#xff0c;为了帮助大家高效表白&#xff0c;下面再给大家带来了实用的HTML浪漫表白代码(附源码)背景音乐&#xff0c;可用于520&#xff0c;情人节&#xff0c;生日&#xff0c;表白等场景&#xff0c;可直接使用。 效果演示 文案修改 var loverNam…

对于个人来说,ChatGPT有什么用,缺点有哪些?

ChatGPT聊天机器人风靡全球&#xff0c;但也有一些人它认为模糊了原创性的界限&#xff0c;扼杀了创造力&#xff0c;还有些人害怕被机器人取代&#xff0c;由此失去生计和职业发展前景。 但更多的人更愿意积极拥抱ChatGPT&#xff0c;除了内容本身&#xff0c;最主要的是相比…

Power apps:做个简单的扫码应用

Power apps的扫码应用只能客户端使用 一、创建一个窗口"扫码APP”,插入媒体工具“条形码读卡器” 二、如果需要在扫码时做一个动作&#xff0c;可以设置它的属性&#xff0c;比如跳转窗口之类的 三、添加一个文本标签&#xff0c;实现在扫码后标签显示条形码&#xff08…

《Go 语言第一课》课程学习笔记(十)

复合数据类型 同构复合类型&#xff1a;从定长数组到变长切片 由多个同构类型&#xff08;相同类型&#xff09;或异构类型&#xff08;不同类型&#xff09;的元素的值组合而成&#xff0c;这类数据类型在 Go 语言中被称为复合类型。 数组有哪些基本特性&#xff1f; Go 语…

C语言和JavaScript中的默认排序行为对比

前言 今天在js里使用sort时遇见了一个不理解的现象 即使用sort默认排序后 9 从排序前的第一位被排到了最后一位.一开始我对js sort的理解和c一样&#xff0c;然后通过查阅后发现并不是这样. 正文 排序是一项常见而重要的操作。不同的编程语言提供了不同的排序函数&#xf…

【Unity3D】程序纹理简单应用

1 几何纹理应用 本文所有案例的完整资源详见→Unity3D程序纹理简单应用。 1.1 边框 1&#xff09;边框子图 Border.shadersubgraph 说明&#xff1a;Any 节点用于判断输入向量中是否存在一个分量非零&#xff0c;Branch 节点根据输入的真假走不同的分支&#xff0c;详见→Shad…

威班8月份PMP模拟考试实录(附大D老师考前寄语)

威班8月份模拟考试于2023年8月12日在深圳市福田区兴华大厦成功举办&#xff0c;这次考试依旧是通过线上线下同步的方式&#xff0c;在深圳周边的学员直接到达现场做卷考试&#xff0c;全国各地不能到达现场的其他学员已提前收到考试所需要的文件&#xff0c;与现场学员同时参加…

python解析小说

前言 在信息爆炸的时代&#xff0c;网络上充斥着大量的小说资源&#xff0c;让人们能够随时随地尽享阅读的乐趣。然而&#xff0c;有些小说网站要求用户付费才能获取完整的内容&#xff0c;这给许多人带来了困扰&#xff0c;尤其是像我这类对金钱概念模糊的人。不过&#xff0…

基于学习交流社区的自动化测试实现

一 项目介绍 项目名称 项目名称&#xff1a; 学习交流社区 项目介绍 项目介绍&#xff1a; 学习交流社区是一个基于Spring的前后端分离的在线论坛系统。使用了MySQL数据库来存储相关信息&#xff0c;项目完成后使用Xshell将其部署到云服务器上。 前端页面&#xff1a; 前端共由…

【LeetCode】151. 反转字符串中的单词 - 双指针

目录标题 2023-8-22 09:53:10原始优化 151. 反转字符串中的单词 2023-8-22 09:53:10 也是想到了快慢指针的思想。 原始 class Solution {public String reverseWords(String s) {int length s.length();Integer pre null;Integer last null;StringBuilder stringBuilde…

使用fdisk分区时,确实创建了一个分区,但是这个分区似乎并没有被Linux系统识别解决方法

使用fdisk分区时&#xff0c;确实创建了一个分区&#xff0c;但是这个分区似乎并没有被Linux系统识别解决方法 故障现象描述 这是我的sdb硬盘我想给他扩展一个分区sdb4 我开始扩展硬盘 似乎没用什么太大的问题也同步到磁盘了使用lsblk查看一下分区情况 系统并没有扫描到sdb4这…

第六章,创作文章

6.1添加创作页面 <template><div class="blog-container"><div class="blog-pages"><div class="col-md-12 panel"><div class="panel-body"><h2 class="text-center">创作文章&l…

轻松实现24小时无人直播带货,只需一款无人值守手机直播软件!

现在做线上运营&#xff0c;基本上就离不开短视频平台&#xff0c;想要做好短视频平台&#xff0c;就得弄懂如何在平台上进行直播。 今年以来&#xff0c;以专帮科技为首的一些科技公司研发的手机无人直播技术得到了快速发展&#xff0c;使得越来越多的企业和个人开始使用此类…

shell 01(概述)

一、shell linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等[参考]? 答: 使用linux的内核操作计算机的硬件 通过编写shell命令发送给linux内核去执行,操作计算机硬件, 所以shell命令是用户操作计算机硬件的桥梁;shell是命令&#xff0c;类似于windows系统Dos命令;shell是…

IDEA中导入多module的Maven项目无法识别module的解决办法

首先举个栗子 这是正常的多module工程&#xff08;spring cloud项目&#xff09; 正常工程.png 这是导入出现问题的多module工程 导入出现问题的工程.png 原因&#xff1a; 出现该问题&#xff0c;是由于打开工程的时候IDEA只编译了最外层的pom.xml文件&#xff0c;而内部的…