Vue中 实现上一篇下一篇的功能

article/2025/10/3 4:15:27

效果:

看下html页面

  <div class="NewsDetails_cont_footer"><!-- 使用三目运算符判断 按钮是否可以点击 --><div @click="last" :class="lastNoShow ? 'noClick' : 'btn'"><img src="../assets/img/newsDetail/公共-更多2(1).png" alt="" /><span>上一篇:{{ lastTitle }}</span></div><!-- 使用三目运算符判断 按钮是否可以点击 --><div @click="next" :class="nextNoShow ? 'noClick' : 'btn'"><span>下一篇:{{ nextTitle }}</span><img src="../assets/img/newsDetail/公共-更多2(1).png" alt="" /></div></div>

附上CSS

.btn {cursor: pointer;
}
.noClick {/* 不可点击 */pointer-events: none;
}

首先需要在data里定义变量

 data() {return {// 获取的数组,就是文章列表arrList: [{id: 0,url: require("../assets/img/youjiao/摄图网_501125646_banner_在草地上玩耍的孩子们(非企业商用)@2x.png"),h1: "发展数字经济 共享包容增长 为经济发展插上“数字翅膀””",p1: "各省、自治区、直辖市教育厅(教委)、发展改革委、工业和信息化主管部门、财政厅(局)、人力资源社会保障厅(局)、农业农村(农...",},{id: 1,url: require("../assets/img/youjiao/摄图网_501111552_banner_幼儿园老师指导画画(非企业商用).png"),h1: "用系统思维下好“职业教育一盘大棋”",p1: "党的十九届五中全会审议通过的《中共中央关于制定国民经济和社会发展第十四个五年规划和二○三五远景目标的建议》内含了多条逻辑线...",},{id: 2,url: require("../assets/img/youjiao/摄图网_501111552_banner_幼儿园老师指导画画(非企业商用).png"),h1: "用系统思维下好“职业教育一盘大棋2”",p1: "党的十九届五中全会审议通过的《中共中央关于制定国民经济和社会发展第十四个五年规划和二○三五远景目标的建议》内含了多条逻辑线...",},{id: 3,url: require("../assets/img/youjiao/摄图网_501111552_banner_幼儿园老师指导画画(非企业商用).png"),h1: "用系统思维下好“职业教育一盘大棋”",p1: "党的十九届五中全会审议通过的《中共中央关于制定国民经济和社会发展第十四个五年规划和二○三五远景目标的建议》内含了多条逻辑线...",},{id: 4,url: require("../assets/img/youjiao/摄图网_501111552_banner_幼儿园老师指导画画(非企业商用).png"),h1: "用系统思维下好“职业教育一盘大棋”",p1: "党的十九届五中全会审议通过的《中共中央关于制定国民经济和社会发展第十四个五年规划和二○三五远景目标的建议》内含了多条逻辑线...",},],//上一个显示的标题内容lastTitle: "",//下一个显示的标题内容nextTitle: "",//下一个的ID 用于跳转页面nextId: "",//上一个的ID 用于跳转页面lastId: "",// 控制按钮是否可以点击lastNoShow: "",nextNoShow: "",};},

methods获取文章列表的函数

  methods: {getAllList() {// 我这是把这个给变成子组件了 获取你文章的ID 用来进行匹配当前的页面//   父组件写了什么可以看文章下面let id = this.$parent.artcleID;//  使用ForEach遍历数组 进行当前页面的判断this.arrList.forEach((item, index) => {// 如果我们父组件里定义的id 等于 index了 就相当找到当前的页面了if (index == id) {// 在这个里面再进行判断 目的是为了 当文章列表里没有内容了的时候if (index >= length - 1) {// 把 下一篇 按钮的内容变成 无      this.nextTitle = "无";//然后把这个nextNoShow 禁止点击的 变量的值变成true// 这样三目运算符就可以加结果为True的 class类名了 就是禁止点击了this.nextNoShow = true;// 这个 else 是 当你文章里还有内容 执行下面的操作} else {// 改变你下一篇标题显示的内容 为 下个index里显示的标题this.nextTitle = this.arrList[index + 1].h1;// 把nextID 的值也变成下个index 里 id的值 为了进行页面的跳转this.nextId = this.arrList[index + 1].id;// 把下一篇变成可以点击的状态,因为这个else里 下一篇还有内容this.nextNoShow = false;}//   这个和上面一样if (index == 0) {this.lastTitle = "无";this.lastNoShow = true;} else {this.lastTitle = this.arrList[index - 1].h1;this.lastId = this.arrList[index - 1].id;this.lastNoShow = false;}}});},//点击上一篇文章时;last() {this.$router.push({// 拼接 lastID 和我们定义的这个地址,就能实现跳转了path: "/newsxiangqing" + this.lastId,});},//点击下一篇文章时next() {this.$router.push({path: "/newsxiangqing" + this.nextId,});},},

函数需要在页面创建前执行

//页面创建前执行一下这个函数created() {this.getAllList();},

我用的时候是把这个功能变成了子组件,下面是我父组件写的变量


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

相关文章

java实现上一篇下一篇功能

根据文章类型查询&#xff0c;实现上一篇、下一篇的效果 自定义实体Dto(这里只放出扩展字段) Getter Setter public class OsArticleDto extends BaseDto {/** */private static final long serialVersionUID 1L;/** 上一篇文章id*/private String beforeId;/*** 上一篇文章…

vue实现上一篇下一篇

先来看一下效果图 请求回来所有文章&#xff0c;根据索引进行上一篇下一篇的判断 首先为两个按钮绑定点击事件 <buttonclick"last(lastId, columnId)":disabled"isLast":class"{ disClick: isLast true }">上一篇:{{ lastTitle }}</b…

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 …