vue实现上一篇下一篇

article/2025/10/3 4:43:05

先来看一下效果图

请求回来所有文章,根据索引进行上一篇下一篇的判断

首先为两个按钮绑定点击事件

 <button@click="last(lastId, columnId)":disabled="isLast":class="{ disClick: isLast === true }">上一篇:{{ lastTitle }}</button><button:class="[nextBtn, { disClick: isNext === true }]"@click="next(nextId, columnId)":disabled="isNext">下一篇:{{ nextTitle }}</button>

 请求回来的所有文章为一个数组,forEach循环,找到当前文章id的索引,下一篇文章就是索引加一,上一篇文章就是索引减一,如果索引值为最后一个,下一篇按钮为禁用状态,如果索引值为最第一个,上一篇按钮为禁用状态。

getAllList(columnId.value).then((res: any) => {console.log(res);articleAllList.value = res.data;console.log(articleId.value);articleAllList.value.forEach((item: any, index) => {if (item.id === articleId.value) {
//获取索引console.log(index);if (index >= articleAllList.value.length - 1) {nextTitle.value = '无';isNext.value = true;} else {nextTitle.value = articleAllList.value[index + 1].articleName;nextId.value = articleAllList.value[index + 1].id;}if (index == 0) {lastTitle.value = '无';isLast.value = true;} else {lastTitle.value = articleAllList.value[index - 1].articleName;lastId.value = articleAllList.value[index - 1].id;}}});
});

最后在分别写点击事件,进行跳转

//点击上一篇文章时;
const last = (articleId: string, columnId: string) => {router.push({path: 'detail',query: { articleId, columnId },});
};
//点击下一篇文章时
const next = (articleId: string, columnId: string) => {router.push({path: 'detail',query: { articleId, columnId },});
};


http://chatgpt.dhexx.cn/article/TtqS466y.shtml

相关文章

Django针对上一篇和下一篇文章标题的实现逻辑

1、要求显示效果 2、前端html内容 <div><nav aria-label"..."><ul class"pager"><li><a href"/blog/detail/{{ previous_article.article_id }}">上一篇&#xff1a;{{ previous_article.title }}</a><…

程序员,我们应该如何去学习

IT技术的发展日新月异&#xff0c;新技术层出不穷&#xff0c;具有良好的学习能力&#xff0c;能及时获取新知识、随时补充和丰富自己&#xff0c;已成为程序员职业发展的核心竞争力。本文中&#xff0c;作者结合多年的学习经验总结出了提高程序员学习能力的三个要点。 众所周知…

程序员该如何学习新知识

想必大家都不是张无忌&#xff0c;人家三十年才可以练成的乾坤大挪移&#xff0c;张无忌大侠两个时辰就可以搞定&#xff0c;作为一个普通的程序员&#xff0c;经常遇到很多新技术和新知识&#xff0c;it界就是这样&#xff0c;日新月异&#xff0c; 那么我们如何学习一门技术和…

@程序员,这四个学习建议值得收藏

在我看来&#xff0c;学习能力应该是一个人最重要的能力之一。因为我们赖以生存的所有技能&#xff0c;无一例外都是通过学习获得的。那些优秀的人&#xff0c;也不过是学习能力或者学习效率比一般人强而已。 这样的观点被很多人论证过&#xff0c;商业理论家阿里德赫斯&#…

程序员学习视频教程汇总

转载请注明出处:http://blog.csdn.net/lowprofile_coding/article/details/51059080 在IT这个节凑快的行业&#xff0c;我们每天都需要学习&#xff0c;需要get新技能&#xff0c;才能不被淘汰&#xff0c;成功的人总是贵在坚持&#xff0c;我觉得有一句话说的很好&#xff1a;…

想自学一下程序员,该学些什么?

程序员是一门职业&#xff08;手动滑稽&#xff09;&#xff0c;需要自学的是编程哦。 编程分为一个方向&#xff0c;方向不同需要学习的东西也大不相同 大数据前端开发后端开发移动端开发移动开发市场游戏开发人工智能服务器开发等等 前端开发难度较高&#xff0c;需要人员…

程序员,这四个学习建议值得收藏

大家好&#xff0c;我是本周的值班编辑 江南一点雨 &#xff0c;本周将由我为大家排版并送出技术干货&#xff0c;大家可以在公众号后台回复“springboot”&#xff0c;获取最新版 Spring Boot2.1.6 视频教程试看。 在我看来&#xff0c;学习能力应该是一个人最重要的能力之一。…

做程序员,需要学习哪些专业知识?

一、两大能力 1、学习能力 为什么需要学习能力,因为技术不会一直停着不动,可能当你刚在学校出来的时候,是公司的佼佼者,但是如果你不学习,当别人会HTML6/7/8的时候,你还只是在HTML5上徘徊。而且当你遇到困难的时候,如果是有大牛给你解决了问题,但是你只是照搬并没有真…

AJAX-设置同步

AJAX-设置同步 一.同步方式与异步方式的区别&#xff1a; 1.1.同步方式发送请求&#xff1a;发送一个请求&#xff0c;需要等待响应返回&#xff0c;然后才能够发送下一个请求&#xff0c;如果该请求没有响应&#xff0c;不能发送下一个请求&#xff0c;客户端会一直处于等待…

js设置ajax执行顺序,ajax同步处理(使得JS按顺序执行)

在项目中碰到一个问题: 图一: 图二: 函数1代码:这里是因为有ajax请求,默认的是异步的 //点击分页页码,请求后台返回对应页码的数据 function getdata(fewPage,flag,content){$.getJSON(getUrl()+/myAccount/getMyOrders.do?curPage=+fewPage+&flag=+flag+&conte…

CDH6.2.0部署

CDH6.2.0部署 服务器信息 服务器主机名安装服务密码等信息192.168.66.10mysql.cdh.lczy.comcloudera-manager-server httpd mysql-5.7数据库初始密码和安装路径信息如下: mysql_root_pwd“CDH6.2_lczy” mysql_install_path"/usr/local"192.168.66.11cdh11.lczy.co…

转载:CDH6.2离线安装(整理版)

引用地址&#xff1a;https://www.cnblogs.com/swordfall/p/10816797.html  CDH6.2离线安装&#xff08;整理版&#xff09; 1.概述 CDH&#xff0c;全称Clouderas Distribution, including Apache Hadoop。是Hadoop众多分支中对应中的一种&#xff0c;由Cloudera维护&#…

CDH大数据——cloudera-manager搭建安装集群CDH

目录 一、基础软件版本信息&#xff1a; 1、CDH对CentOS的版本要求&#xff1a; 2、CDH对数据库版本的要求&#xff1a; 3、CDH对jdk版本的要求&#xff1a; 4、CDH对浏览器的要求&#xff1a; 5、CDH对网络配置的要求&#xff1a; 6、CDH对安全传输协议&#xff08;TLS…

CDH6.3.2集群变更IP配置修改

CHD集群在服务器节点的IP改变之后需要修改一些配置&#xff0c;它本身不会如Apache原生软件那样完全依赖服务器的域名映射&#xff0c;我这边本地使用的测试环境是CDH6.3.2的&#xff0c;在启动/关闭上不用担心agent&#xff0c;如果大家用的是其他版本需要注意 1、在修改IP之…

CDH 6.3.2集群安装部署

文章目录 CDH 6.3.2集群安装部署一 CDH概要1.1 CDH的背景1.2 CDH介绍 二 环境准备2.1 安装部署环境2.2 部署规划2.3 服务器主机映射2.4 服务器免登录配置2.5 防火墙关闭2.6 关闭Selinux2.7 设置最大打开文件2.8 关闭最大透明页面压缩2.9 设置Swappiness空间2.10 安装JDK2.11 My…

CDH6.3.1部署

CDH部署 1.准备工作 资源有限&#xff0c;使用虚拟机进行如下配置 机器配置 IP主机名配置192.168.130.221CDH14G 2处理器 60G磁盘192.168.130.222CDH22G 1处理器 20G磁盘192.168.130.223CDH32G 1处理器 20G磁盘 建议配置 IP主机名配置192.168.130.221CDH18G 4处理器 80G磁盘…

CDH 动态资源池

CDH 动态资源池 CDH 的动态资源池类似于 Yarn 中的队列概念差不多现在有这样一个需求&#xff0c;开发环境中&#xff0c;就只有一套 CDH 的集群&#xff0c;不同的用户组使用不同的硬件资源&#xff0c;这时候可以通过动态资源池来实现这个功能。需求&#xff1a; 一个 CDH 集…

CDH目录结构

1 组件安装路径: /opt/cloudera/parcels/CDH/lib 2 组件配置路径&#xff1a; /etc/组件名/conf 步骤1 通过软链接指过来 hadoop配置文件路径&#xff1a;/opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop (hadoop软链接 -->/etc/hadoop/conf) /etc/hadoop/conf …

CDH邮件报警配置

CDH邮件报警配置 cloudera manager提供邮件告警功能&#xff0c;方便管理员在集群出现问题的第一时间维护集群。 登录CM 点击进入cloudera manager service服务 启用电子邮件警报 在搜索框输入启用电子邮件警报&#xff0c;并启用 配置邮箱服务器 配置邮箱服务器 保存配置并…

CDH 6.3.1安装

一、准备工作 1 安装lrzsz [roothadoop001 ~]# yum -y install lrzsz [roothadoop002 ~]# yum -y install lrzsz [roothadoop003 ~]# yum -y install lrzsz2 上传安装文件 [roothadoop001 ~]# rz[roothadoop001 cdh63]# ll -h total 3.9G -rw-r--r-- 1 root root 2.0G Oct …