Vue学习day_01

news2025/1/17 21:43:51

指令:

v-html:

设置元素的innerHTML

v-show和v-if:

二者都是控制元素去隐藏起来,但是二者的原理是不一样的,

v-show底层的原理是在切换底层css里面的display为none

v-if底层的原理是移除节点或者是创建节点,"成本"是比较高的

v-else 和 v-else-if;

v-on:

对事件进行监听,然后做出对应的变化

代码演示:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>v-on</title>
  <style>
    .box {
      width: 400px;
      height: 200px;
      margin: 0 auto;
    }
  </style>
</head>

<body>
  <div id='app'>
    <div class="box">
      <h3>FindYou售货机</h3>
      <button @click="fn(5)">可乐5元</button>
      <button @click="fn(10)">咖啡10元</button>
      <button @click="drink(1)">喝一瓶可乐</button>
      <button @click="drink(2)">喝一杯咖啡</button>
      <p>银行卡余额:{{ money }}元</p>
      <p>你现在有可乐: {{cole}}瓶, 咖啡: {{cafe}} 瓶</p>
    </div>

  </div>
  <script src="../vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        money: 100,
        cole: 0,
        cafe: 0
      },
      methods: {
        fn(a) {
          if (this.money - a < 0) {
            alert('余额不足')
            return
          }
          this.money -= a;
          if (a == 5) {
            this.cole++
          } else {
            this.cafe++
          }
        },
        drink(a) {
          if (a == 1) {//喝的是可乐
            if (this.cole >= 1) {
              this.cole--;
              alert('真好喝')
            } else {
              alert('没可乐啦,买点吧')
            }
          } else {//喝的是咖啡
            if (this.cafe >= 1) {
              alert('喝完精神好多啊')
              this.cafe--;
            } else {
              alert('没咖啡啦,买点吧')
            }
          }
        }
      }
    }) 
  </script>
</body>

</html>

运行的结果:

v-bind:

动态设置html的src url title......

语法:v-bind:属性名='表达式'

前面的v-bind是可以省略的

图片切换案例:

要求:

有两个点击按钮,分别是上一页,下一页,点击上一页的时候,图片切换到上一页,点击下一页的时候,图片切换到下一页,但是在第一页的时候,要把上一页这个按钮给隐藏起来,同理在最后一页的时候,要把下一个这个按钮给隐藏起来 

分析:

用数组去存取照片的src,然后通过下标去改变图片的地址,这里显示和隐藏用到的是is-show,上一页的情况 is-show: 'index > 0' ,意思就是 当你的页面在第一个以上的时候,我把上一页给显示出来,否则隐藏,同理下一页的按钮限制是: is-show: 'index < list.length - 1',然后点击的时候改变index即可,++或者是--

代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <div id="app">
    <button v-show="index > 0" @click="index--">上一页</button>
    <div><img :src="list[index]" alt=""></div>
    <button v-show="index < list.length - 1" @click="index++">下一页</button>
  </div>

  <script src=" ../vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        index: 0,
        list: [
          '../images/1.jpg',
          '../images/2.jpg',
          '../images/3.jpg',
          '../images/4.jpg',
        ]
      },
      methods: {
        fn() {
          alert('你好')
        }
      }
    })
  </script>
</body>

</html>

运行的结果:

v-for:

看for就能知道是 循环的,多次渲染整个元素 -> 数组 对象 数字

语法:

v-for="(item, index) in 数组" , item指的是每一项 index指的是下标,这里的index是可以省略的,省略之后的写法是 v-for="item in  数组"

代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div id='app'>
    <h3>水果店</h3>
    <ul>
      <li v-for="(item, index) in list">{{item}} - {{index}}</li>
      <!-- index可以省去 括号也可以 -->
      <li v-for="item in list ">{{item}}</li>
    </ul>
  </div>

  <script src="../vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        list: ['西瓜', '苹果', '鸭梨']
      },
      methods: {}
    })
  </script>
</body>

</html>

运行的结果是:

 

书架删除案例:

要求:

可以删除书 

分析:

这里的数组的删除用的是filter, 在 web 开发中,filter() 是 JavaScript 数组的一个高阶函数,用于创建一个新的数组,其中包含满足指定条件的原始数组的元素。 用一个数组去存取的是id,name,author 然后用v-for去循环,然后对每个button进行事件的监听,也就是点击时候删除的是传进去的参数index,然后用filter进行过滤,过滤之后的重新赋值给原数组.

代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div id='app'>
    <h3>FindYou的书架</h3>
    <ul>
      <li v-for="(item, index) in bookList">
        <span>{{item.name}}</span>
        <span>{{item.author}}</span>
        <button @click="del(item.id)">删除</button>
      </li>

    </ul>
  </div>
  <script src="../vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        bookList: [
          { id: 1, name: '红楼梦', author: '曹雪芹' },
          { id: 2, name: '西游记', author: '吴承恩' },
          { id: 3, name: '水浒传', author: '施耐庵' },
          { id: 4, name: '三国演义', author: '罗贯中' }
        ]
      },
      methods: {
        del(index) {
          //通过id进行删除数组中的 对应项 -> filter(不会改变原数组)
          //filter: 根据条件   保留满足条件   的对应项 得到一个新的数
          this.bookList = this.bookList.filter(item => item.id != index)
        }
      }

    })
  </script>
</body>

</html>

运行的结果是:

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

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

相关文章

linux 防火墙查看放行端口,追加放行端口命令

linux 查看防火墙已经放行端口列表 firewall-cmd --list-ports 运行结果如下&#xff1a; linux 追加防火墙经放行端口&#xff08;如追加443&#xff09; firewall-cmd --zonepublic --add-port443/tcp --permanent 亲测有效&#xff01;

力扣刷题记录(20)LeetCode:198、213、337

198. 打家劫舍 我们从第一个开始分析&#xff1a; dp[i]:i表示索引&#xff0c;dp表示当前索引可以拿到的最高金额 索引为0时&#xff0c;可以拿到的最高金额为1&#xff1b; 索引为1时&#xff0c;可以拿到的最高金额就是在索引[0,1]之间取&#xff0c;为2 索引为2时&…

deepin系统安装达梦数据库

deepin系统安装达梦数据库 1.下载安装包和执行可执行文件2.解压缩可执行文件3.运行安装程序 2.初始化3.达梦管理工具 deepin系统安装达梦数据库 1.下载安装包和执行可执行文件 进入deepin系统桌面, 打开终端, 输入命令uname -a 检查cpu架构,前往达梦官网下载合适的安装包, 目前…

【linux】touch的基本使用

碎碎念 刚接触linux时候的几个最基础的命令之一&#xff0c;用来创建文件。如果使用touch --help的时候会发现作者对于touch的简介&#xff1a;Update the access and modification times of each FILE to the current time.用于修改文件的访问和时间戳 带我的leader属于那种…

使用Python Flask搭建一个简单的Web站点并发布到公网上访问

文章目录 前言1. 安装部署Flask并制作SayHello问答界面2. 安装Cpolar内网穿透3. 配置Flask的问答界面公网访问地址4. 公网远程访问Flask的问答界面 前言 Flask是一个Python编写的Web微框架&#xff0c;让我们可以使用Python语言快速实现一个网站或Web服务&#xff0c;本期教程…

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节 栈基本工作原理

深入浅出图解C#堆与栈 C# HeapingVS Stacking第二节 栈基本工作原理 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节 栈基本工作原理](https://mp.cs…

Python五子棋程序实现详解

Python五子棋程序实现详解 引言功能实现显示棋盘点击落子判断胜负游戏结束判断交替落子 运行结果完整代码总结 引言 五子棋是一种广泛传播的策略棋类游戏&#xff0c;两人对弈&#xff0c;通过在棋盘上落子&#xff0c;以先形成连续的相同颜色的五子棋为胜利条件。本文将介绍如…

关于Zoom ZTP和AudioCodes Ltd桌面电话缺陷暴露,导致用户遭受窃听的动态情报

一、基本内容 近期SySS安全研究员发布分析报告显示&#xff0c;Zoom的零接触&#xff08;ZTP&#xff09;和AudioCodes Ltd桌面电话配置功能中发现高危漏洞&#xff0c;可以获得对设备的完全远程控制并不受限制的访问可以被武器化&#xff0c;以窃听房间或电话、通过设备并攻击…

JAVA语言—AOP基础

1、AOP概述 AOP&#xff1a;AOP&#xff08;Aspect Oriented Programming&#xff09;&#xff0c;即面向切面编程&#xff0c;可以说是OOP&#xff08;Object Oriented Programming&#xff0c;面向对象编程&#xff09;的补充和完善。 场景&#xff1a;案例部分功能运行较慢&…

Linux操作系统——进程(六) 进程地址空间

进程地址空间 C/C程序员一般将我们所写的程序看成如下这种结构&#xff1a; 我们所写的程序通过编译编译之后就可以以这样的方式进行分布. 我们先通过编写一段C语言代码来进行验证&#xff1a; 运行结果&#xff1a; 我们可以看出来上述地址遵循的就是我们上面画的一种结构。…

TSINGSEE青犀智能分析网关V4人体行为检测算法在视频监控中的应用

旭帆科技智能分析网关的算法十分繁多&#xff0c;其中可分为人体事件、车辆事件、环境事件、行为检测、着装检测等等&#xff0c;可覆盖绝大多数场景&#xff0c;如智慧校园、智慧工地、智慧景区等&#xff0c;今天小编就TSINGSEE青犀智能分析网关的行为检测算法和大家进行研讨…

Leetcode算法系列| 8. 字符串转换整数 (atoi)

目录 1.题目2.题解C# 解法一&#xff1a;及其臃肿的代码C# 解法二&#xff1a;DFA&#xff08;确定有穷自动机&#xff09; 1.题目 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09…

2024年中职“网络安全“—数字调查取证(attack817.pcapng)

目录 ​1.通过分析数据包找出恶意用户最初访问HTTP服务的包号&#xff0c;将该值作为Flag值提交, Flag格式为flag{xxx}&#xff1b; 2.继续查看数据包文件分析出恶意用户扫描了哪些端口&#xff0c;将全部的端口号按照一定顺序作为Flag值&#xff0c;提示&#xff1a;注意端口…

Spring Boot整合 EasyExcel 实现复杂 Excel 表格的导入与导出功能

文章目录 1. 简介2. 引入依赖3. 导入功能实现3.1 创建实体类3.2 编写导入 Controller3.3 编写导入页面 4. 导出功能实现4.1 编写导出 Controller4.2 编写导出页面 5. 启动应用 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &…

2023年中职“网络安全”——B-5:网络安全事件响应(Server2216)

B-5&#xff1a;网络安全事件响应 任务环境说明&#xff1a; 服务器场景&#xff1a;Server2216&#xff08;开放链接&#xff09; 用户名:root密码&#xff1a;123456 1、黑客通过网络攻入本地服务器&#xff0c;通过特殊手段在系统中建立了多个异常进程&#xff0c;找出启…

NFC物联网智能锁安全测试研究

针对短距离无线通信在物联网智能锁实际运用中的安全机制问题&#xff0c;通过理论分析和实际操作演示潜在的攻击流程&#xff0c;发现其存在的安全漏洞并提出可行的加固方法&#xff0c;并对加固后的通信系统进行CPN建模与安全性分析&#xff0c;对无线通信协议的安全性能提升、…

数据结构学习 Leetcode474 一和零

关键词&#xff1a;动态规划 01背包 一个套路&#xff1a; 01背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要逆序遍历完全背包&#xff1a;空间优化之后dp【target1】&#xff0c;遍历的时候要正序遍历 目录 题目&#xff1a; 思路&#xff1a; 复杂…

算法时间空间复杂度计算—空间复杂度

算法时间空间复杂度计算—空间复杂度 空间复杂度定义影响空间复杂度的因素算法在运行过程中临时占用的存储空间讲解 计算方法例子1、空间算法的常数阶2、空间算法的线性阶&#xff08;递归算法&#xff09;3、二分查找分析方法一&#xff08;迭代法&#xff09;方法二&#xff…

lenovo联想拯救者8.8英寸掌上游戏机Legion Go 8APU1(83E1)原装出厂Windows11预装系统

链接&#xff1a;https://pan.baidu.com/s/1d586XWXcAWVxlLyV2Oku7Q?pwdd74t 提取码&#xff1a;d74t 系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xff1a;ISO 文件大小&#xff1a;…

iframe展示pdf、png、jpg

iframe展示pdf、png、jpg&#xff1a; 1、前端定义div&#xff1a; <div id"pdf-container"></div>/*dpf的div*/ <iframe id"imageFrame"></iframe>/*图片的div*/2、后端查询base64的流&#xff0c;前端页面初始化js方法&#x…