Vue 本地应用 图片切换 v-show v-bind实践

news2024/11/26 18:38:45

点击切换图片的本质,其实修改的是img标签的src属性。

 图片的地址有很多个,在js当中通过数组来保存多个数据,数组的取值结合索引,根据索引可以来判断是否是第一张还是最后一张。

图片的变化本质是src属性被修改了,属性的修改使用v-bind指令。

a标签在点击的时候要执行逻辑,那么事件绑定是v-on,在第一张和最后一张图片隐藏某个a标签,因为切换的比较频繁,考虑到性能问题使用v-show指令。

首先要定义图片数组,在data当中定义data数组,将地址存储进去。

接着添加图片索引,如果是从数组第一个获取的话,那么值是0。

然后使用v-bind指令,将地址和img的src属性绑定,获取的方式其实就是数组+索引

点击上一张和下一张图片,本质是修改了索引的值,这部分的逻辑写在methods中,

下一张可以取名为pre next,逻辑简单,只需要去递增和递减索引就行了

左右箭头的显示条件略有不同,一个是不为第一张,索引不为0就行了。如果不为最后一张,只需要判断所应的长度比数组小,指令使用v-show。

 

 左边的按钮只需要索引不为0就可以使用了,为0相当于第一张。右边按钮只需要比数组的长度小就可以显示了。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>首页</title>
    <link href="" type="text/css" rel="stylesheet"/>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <style type="text/css">

    </style>
</head>
 
<body>  
<div id="app">
  <!--现在是基于数据来生成src的属性-->
  <button type="button" @click="pre" v-show="index!= 0">上一张</button>
  <button type="button" @click="next" v-show="index<imgArr.length-1">下一张</button>
  <img :src="imgArr[index]" alt="">
</div>
         
    <script type="text/javascript">        
      new Vue({   
          el: "#app",   
          data:{ 
            imgArr:[
              "./1.jpg",
              "./2.jpg",
              "./3.jpg",
            ],
            index: 0,
          },
          methods:{
            pre:function(){
               this.index--;
            },
            next:function(){
               this.index++;
            }
          }
       })
    </script>
 
</body>
</html>

这里使用v-if也是可以的。v-if是直接将元素从dom树里面移除,性能的消耗而言会大一些,不建议使用。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python入门【推导式创建序列、字典推导式、集合推导式】(九)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

数学随想:轻量级算法服务。

数学随想&#xff1a;轻量级算法服务TOC 通常认为&#xff0c;数列是算法服务的基础。但是&#xff0c;真正用于算法服务的数列只有几个众所周知的基础数列。虽然对于不同的任务可以选择使用数列的一段用于服务&#xff0c;但是数列的使用还是复杂而繁重的。特别是在计算应用日…

工控机有哪些常见的硬件和软件组件?

工控机常用于制造业、自动化控制、机械设备、医疗设备、交通运输、能源管理、环境监测、安防监控等行业和领域。它们可以用于控制、监控、数据采集和处理、自动化生产线等方面。 工控机有哪些常见的硬件和软件组件&#xff1f; 工控机作为一种特殊的计算机设备&#xff0c;通…

《golang设计模式》第一部分·创建型模式-01-单例模式(Singleton)

文章目录 1. 概述1.1 目的1.2 实现方式 2. 代码示例2.1 设计2.2 代码 1. 概述 1.1 目的 保证类只有一个实例有方法能让外部访问到该实例 1.2 实现方式 懒汉式 在第一次调用单例对象时创建该对象&#xff0c;这样可以避免不必要的资源浪费 饿汉式 在程序启动时就创建单例对象…

你真的懂软件测试人员的痛苦吗?——目前软件测试几大误区

前言 随着软件测试对提高软件质量重要性的不断提高&#xff0c;软件测试也不断受到重视。但是&#xff0c;国内软件测试过程的不规范&#xff0c;重视开发和轻视测试的现象依旧存在。因此&#xff0c;对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识&a…

[ 容器 ] Docker 网络

目录 一、 Docker 网络实现原理二、Docker 的网络模式三、网络模式讲解1. host 模式2&#xff0e;container模式3&#xff0e;none模式4&#xff0e;bridge模式5&#xff0e;自定义网络 四、资源控制1. CPU 资源控制2 对内存使用限制3. 对磁盘IO配额控制&#xff08;blkio&…

大数据技术之Hive3

目录标题 5、DML 数据操作5.1 数据导入5.1.1 向表中装载数据load5.1.2 通过查询语句向表中插入数据insert5.1.3 查询语句中创建表并加载数据5.1.4 创建表时通过 Location 指定加载数据路径 5.2 数据导出5.2.1 insert导出5.2.2 Hadoop 命令导出到本地 5.3 清除表中数据(Truncate…

剑指offer41.数据流中的中位数

我一开始的想法是既然要找中位数&#xff0c;那肯定要排序&#xff0c;而且这个数据结构肯定要能动态的添加数据的&#xff0c;肯定不能用数组&#xff0c;于是我想到了用优先队列&#xff0c;它自己会排序都不用我写&#xff0c;所以addNum方法直接调用就可以&#xff0c;但是…

多环境配置及配置文件位置

用端口测试了一下&#xff0c;properties>yml>yaml

未运行任何程序,GPU占用却很高

问题&#xff1a;没有运行任何程序&#xff0c;GPU的memory-usage占了很高&#xff0c;导致现在运行模型会cuda out of memory 解决&#xff1a;目前还未解决&#xff0c;希望大佬们可以给一些建议。

成为Pandas专业人士应该掌握的 30 种方法

一、说明 Pandas无疑是Python有史以来最好的库之一&#xff0c;用于表格数据整理和处理任务。但是&#xff0c;如果您是新手并试图牢牢掌握 Pandas 库&#xff0c;那么如果您从 Pandas 的官方文档开始&#xff0c;一开始事情可能会显得非常令人生畏和不知所措。 二、pandas主题…

leetcode每日一练-第98题- 验证二叉搜索树

一、思路 因为要验证多个节点是否是二叉搜索树,因此使用递归 二、解题方法 设计一个递归函数 helper(root, lower, upper) 来递归判断&#xff0c;函数表示考虑以 root 为根的子树&#xff0c;判断子树中所有节点的值是否都在 (l,r)的范围内&#xff08;注意是开区间&#x…

arm 函数栈回溯

大概意思就是arm每个函数开始都会将PC、LR、SP以及FP四个寄存器入栈。 下面我们看一下这四个寄存器里面保存的是什么内存 arm-linux-gnueabi-gcc unwind.c -mapcs -w -g -o unwind&#xff08;需要加上-mapcs才会严格按照上面说的入栈&#xff09; #include <stdio.h> …

Scaling Instruction-Finetuned Language Models

Paper name Scaling Instruction-Finetuned Language Models Paper Reading Note Paper URL: https://arxiv.org/pdf/2210.11416.pdf TL;DR 2022 年谷歌出的文章&#xff0c;对指令微调的影响因素进行分析&#xff0c;提出了一些提升指令微调效果的方案。与该文章一起出品…

AI学习笔记四:yolov5训练自己的数据集

若该文为原创文章&#xff0c;转载请注明原文出处。 一般情况下&#xff0c;大部分人的电脑都是没有cpu的&#xff0c;cpu也是可以训练的&#xff0c;但花费的时间太长&#xff0c;实际200张图片&#xff0c;使用CPU训练300轮花了3天&#xff0c;本章记录使用云服务器来训练自…

【无废话解决bug】python dash库 127.0.0.1 拒绝了我们的连接请求

无废话。 Q: python dash库在127.0.0.1无法打开–访问本地IP时显示拒绝访问 在python3写好了代码&#xff0c;打算运行代码后在浏览器127.0.0.1查看&#xff0c;浏览器提示&#xff1a;127.0.0.1 拒绝了我们的连接请求。 A:【本解决方法对dash库问题适用&#xff0c;其他涉及…

【前端知识】React 基础巩固(三十四)——组件中的异步操作及优化

React 基础巩固(三十四)——组件中的异步操作及优化 一、待优化的异步请求流程 通过组件的生命周期来完成网络请求&#xff0c;网络请求的异步代码直接放在组件中 import React, { PureComponent } from "react"; import { connect } from "react-redux"…

OLED透明屏的安装价格与安装步骤

OLED透明屏的安装价格因各种因素而异&#xff0c;例如屏幕尺寸、分辨率、透明度等。一般来说&#xff0c;安装OLED透明屏需要考虑到以下几个步骤&#xff1a; 准备表面&#xff1a;首先&#xff0c;需要清理屏幕表面以确保透明度。然后&#xff0c;需要钻孔以安装屏幕。 安装框…

Java在线OJ项目(一)、多进程编程实现 做题代码的编译和运行

在线OJ项目&#xff08;一&#xff09;、多进程编程实现 做题代码的编译和运行 一、回顾线程和进程二、进程比线程的优势三、多进程编程样例四、多进程思想 实现对代码 的编译 以及 运行两个功能CommandUtil 由于我们是在线oj&#xff0c;所以得编译用户的代码不仅编译 还需要 …

TEE GP(Global Platform)安全认证方案

TEE之GP(Global Platform)认证汇总 一、安全认证介绍 GlobalPlatform的安全认证计划通过独立的安全评估&#xff0c;确认安全组件是否符合通用标准认可的Protection Profile。它确保安全组件满足为特定服务定义的所需安全级别&#xff0c;使服务提供商能够自信有效地管理风险并…