基于vue实现计数器案例

news2024/9/28 11:17:31

一、需求

  • 页面显示两个按钮,分别为:增加 和 减少;
  • 显示加减后的数字;
  • 加到10提示不能再加,减到0提示不能再减;

二、代码演示

1、实现步骤

  1. data中定义数据: 比如 num 值为1
  2. methods中添加两个方法: 比如add(递增) ,sub(递减)
  3. 使用{{}} 将num设置给 span标签
  4. 使用v-on 将add,sub 分别绑定给 + ,- 按钮
  5. 累加到10 停止
  6. 递减到0 停止

2、界面实现

  1. inputNum.css代码

    .inputNum {
      vertical-align: middle;
      height: 22px;
      border: 1px solid #d0d0d0;
      text-align: center;
    }
    
    .btn {
      display: inline-block;
      vertical-align: middle;
      background: #f0f0f0 no-repeat center;
      border: 1px solid #d0d0d0;
      width: 50px;
      height: 50px;
      border-radius: 2px;
      box-shadow: 0 1px rgba(100, 100, 100, 0.1);
      color: #666;
      transition: color 0.2s, background-color 0.2s;
    }
    
    .btn:active {
      box-shadow: inset 0 1px rgba(100, 100, 100, 0.1);
    }
    
    .btn:hover {
      background-color: #e9e9e9;
      color: #333;
    }
    
    .btn_plus {
      background-image: linear-gradient(to top, currentColor, currentColor),
        linear-gradient(to top, currentColor, currentColor);
      background-size: 20px 2px, 2px 20px;
    }
    
    .btn_minus {
      background-image: linear-gradient(to top, currentColor, currentColor);
      background-size: 20px 2px, 2px 20px;
    }
    
    
  2. js代码

    <!DOCTYPE html>
    <html lang="en">
     <head>
       <meta charset="UTF-8" />
       <meta name="viewport" content="width=device-width, initial-scale=1.0" />
       <title>Document</title>
       <!-- 导入css资源 -->
       <link rel="stylesheet" href="./css/inputNum.css" />
     </head>
     <body>
       <!-- 显示区域 -->
       <div id="app">
         <input type="button" class="btn btn_plus" />
         <span>{{num}}</span>
         <input type="button" class="btn btn_minus" />
       </div>
     </body>
    
     <script src="js/vue.min.js"></script>
     <script>
       var Vm = new Vue({
         el: "#app",
         data: {
           num: 1,
         },
         methods: {},
       });
     </script>
    </html>
    
    
  3. 测试结果

在这里插入图片描述

3、绑定点击事件,实现数据的变化

  1. 代码修改

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <!-- 导入css资源 -->
        <link rel="stylesheet" href="./css/inputNum.css" />
      </head>
      <body>
        <!-- 显示区域 -->
        <div id="app">
          <input type="button" class="btn btn_plus" @click="add" />
          <span>{{num}}</span>
          <input type="button" class="btn btn_minus" @click="sub" />
        </div>
      </body>
    
      <script src="js/vue.min.js"></script>
      <script>
        var Vm = new Vue({
          el: "#app",
          data: {
            num: 1,
          },
          methods: {
            add: function () {
              if (this.num < 10) {
                this.num++;
              } else {
                alert("数字到达上限10!");
              }
            },
            sub: function () {
              if (this.num > 0) {
                this.num--;
              } else {
                alert("数字减到下限0!");
              }
            },
          },
        });
      </script>
    </html>
    
    
  2. 测试结果

    在这里插入图片描述

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

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

相关文章

普通人如何打造自己人生的护城河?

哈喽&#xff0c;大家好啊&#xff0c;我是雷工。 今天在看《张一鸣管理日志》时看到这么一句话&#xff1a; 今日头条不断吸引更优秀的工程师&#xff0c;不断更新算法&#xff0c;才有了当前今日头条的算法护城河。 头条的算法有多牛&#xff0c;看你周边就知道了。 越来越多…

《WebKit 技术内幕》学习之十一(2):多媒体

2 视频 2.1 HTML5视频 在HTML5规范定义中&#xff0c;Web开发者可以使用“video”元素来播放视频资源。视频中有个重要的问题就是视频编码格式&#xff0c;对此&#xff0c;目前标准中包含了三种编码格式&#xff0c;它们分别是Ogg、MPEG4和WebM。其中Ogg是由Xiph.org组织开…

鼠标移入/点击子组件,获取选中子组件事件

不管是移入&#xff0c;或者是点击事件 都要知道是触发的哪个组件 这里子组件是个通用小标题title 所以&#xff0c;通过标题内容&#xff0c;获取触发的哪个子组件子组件 <template><div mouseover"tMouseover" mouseleave"tMouseLeave" class&…

如何使用iPhone或iPad上的二维码共享Wi-Fi密码?这里有详细步骤

你有没有想过在不泄露网络密码的情况下与客人共享你的家庭或工作Wi-Fi?你肯定不是第一个这样想的人,我们很高兴地通知你,多亏了以下这个的变通方法,你现在可以使用iPhone或iPad做到这一点。 通常,如果你想让其他人访问网络,你需要共享你的Wi-Fi密码。苹果通过引入与任何…

Redis原理篇(String)

一.编码方式 String 有三种编码方式 1.RAW编码 type是类型&#xff0c;表示该类型是String类型 encoding是编码方式&#xff0c;表示当前是String的RAW编码方式 ptr指针指向一个SDS&#xff08;动态字符串&#xff09;对象 2.EMBSTR编码 当要存的字符串长度小于44个字节时&…

Fluent Bit配置与使用——基于版本V2.2.2

Fluent Bit日志采集终端 文档适用版本&#xff1a;V2.2 1、日志文件处理流程 数据源是一个普通文件&#xff0c;其中包含 JSON 内容&#xff0c;使用tail插件记录日志&#xff0c;通过parsers进行格式化匹配&#xff08;图里没写&#xff09;&#xff0c;通过两个筛选器&…

手把手教你安装Jupyter Notebook(保姆级教程)

Jupyter Notebook介绍 什么是Jupyter Notebook Jupyter Notebook 是一个基于 Web 的交互式计算环境&#xff0c;支持多种编程语言&#xff0c;包括 Python、R、Julia 等。它的主要功能是将代码、文本、数学方程式、可视化和其他相关元素组合在一起&#xff0c;创建一个动态文…

代码随想录算法训练营29期|day29 任务以及具体安排

* 491.递增子序列 class Solution {List<List<Integer>>result new ArrayList<>();LinkedList<Integer>path new LinkedList<>();boolean[] used;public List<List<Integer>> findSubsequences(int[] nums) {//Arrays.sort(nums);…

MySQL 8.3 发布,具体有哪些新增和删减?

MySQL 8.3 主要更新&#xff1a;用于标记事务分组的 GTID、JSON EXPLAIN 格式增强、一些功能删除等。 MySQL 是一款广泛使用的开源的关系型数据库管理系统&#xff0c;已推出其最新版本 MySQL 8.3。它带来了新功能和一些删除&#xff0c;有望简化数据库操作。让我们来看看有哪些…

I.MX6ULL Linux开发板环境搭建

系列文章目录 I.MX6ULL Linux开发板环境搭建 一、Ubuntu 和 Windows 文件互传 在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输&#xff0c;比如在 Windwos 下进行 代码编写&#xff0c;然后将编写好的代码拿到 Ubuntu 下进行编译。Windows 和 Ubuntu 下的文件互传…

Redis入门到实战-基础篇+实战篇+高级篇+原理篇

Redis入门到实战-基础篇实战篇高级篇原理篇 文章目录 Redis入门到实战-基础篇实战篇高级篇原理篇一、基础篇二、实战篇三、高级篇四、原理篇 一、基础篇 1.基础篇笔记&#xff1a;https://blog.csdn.net/cygqtt/article/details/126974142 二、实战篇 1.实战篇笔记&#xff1a;…

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024)

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024) 会议简介 2024年国际水资源、智慧城市与绿色发展大会&#xff08;ICWRSCGD 2024&#xff09;将在中国杭州举行。会议聚焦“水资源、智慧城市、绿色发展”这一最新研究领域&#xff0c;致力于促进世界顶级创新者、科学…

主播考核体系相关基础

1.主播薪资类型 2.主播考核体系 1.分为日常考核、月度考核 日常考核分为三部曲&#xff1a;播前、播中、播后 &#xff08;1&#xff09;播前 &#xff08;2&#xff09;播中 &#xff08;3&#xff09;播后 月度考核 月度考核表列举 主播等级划分要素 主播晋升考核方…

Vue3组件库开发 之Button(2)

Vue3组件库开发 之Button(1) 中新建项目&#xff0c;但未安装成功ESLINT 安装ESLINT npm install eslint vite-plugin-eslint --save-dev 安装eslint后&#xff0c;组件文件出现错误提示 添加第三方macros &#xff0c;虽然不是官网但很多开发者都是vue3开发人员 安装macros…

freeswitch智能外呼系统搭建流程

1.获取实时音频数据 media_bug &#xff08;好多mrcp方式也崩溃所以用以下方式&#xff09; 可以参考 方式可以通过socket或者webscoket freeswitch[1.05]用websocket发送mediabug语音流到ASRProxy实现实时质检和坐席辅助 - 知乎 2.webscoket 好多c的库放模块容易崩溃 可以…

SAP ERP 物料主数据同步外围系统

物料主数据集成在很多项目是比较常见的需求&#xff0c;在做系统实现之前我们需要明确涉及的业务流程和需求范围&#xff0c;并且对每个系统的业务边界进行明确&#xff1a; 如果是从SAP ERP 向其他系统推送数据&#xff0c;并且实时性要求高的情况下&#xff0c;我一般倾向于在…

$ git config --global -l fatal: unable to read config file ‘XXXX‘: No such file

git配置用户级别时输入 git config --global user.name "" git config --global user.email "" 报错有两种问题 1.语句中缺少必要的空格 user.name与""之前存在空格&#xff0c;没有的话会导致设置失败 2.打开c盘&#xff0c;进入用户目录下…

Unity中URP下额外灯的距离衰减

文章目录 前言一、额外灯的距离衰减在这里插入图片描述 二、DistanceAttenuation函数的传入参数1、distanceSqr2、distanceAndSpotAttenuation3、_AdditionalLightsAttenuation4、GetPunctualLightDistanceAttenuation函数三、DistanceAttenuation函数的程序体 前言 在上一篇文…

[AIGC 大数据基础] 浅谈hdfs

HDFS介绍 什么是HDFS&#xff1f; HDFS&#xff08;Hadoop Distributed File System&#xff09;是Apache Hadoop生态系统的一部分&#xff0c;是一个分布式文件系统。它被设计用于存储和处理大规模数据集&#xff0c;并且能够容错、高可靠和高性能地处理文件。 HDFS是为了支…