vue3(二)-基础入门

news2024/11/28 16:48:33

一、列表渲染

of 和 in 都是一样的效果

html代码:

<div id="app">
      <ul>
        <li v-for="item of datalist">{{ item }}</li>
      </ul>

      <ul>
        <li v-for="item in dataobj">{{ item }}</li>
      </ul>
		<!-- 括号内的 index,item ,位于第一项的是数组的值,第二项的是数组的索引-->
      <ul>
        <li v-for="(index,item) of datalist">{{ item }}----{{ index }}</li>
      </ul>
		<!-- 括号内的 item,key ,位于第一项的是对象的值,第二项的是对象的键-->
      <ul>
        <li v-for="(item,key) in dataobj">{{ item }}----{{ key }}</li>
      </ul>
</div>

javascript:

<script>
      const { createApp, ref } = Vue
      createApp({
        data() {
          return {
            datalist: ['111', '222', '333'],
            dataobj: {
              a: '1',
              b: '2',
              c: '3'
            }
          }
        }
      }).mount('#app')
</script>

结果展示:
在这里插入图片描述

二、列表key值设置

  1. 跟踪每个节点的身份,从而重用和重新排序现有的元素

  2. 理想的key值是每项都有唯一的id

<ul>
   <li v-for="item in dataobj" key="item.id">{{ item }}</li>
</ul>

三、列表数组检测

  1. vue中可以检测数组变动的函数,数组变动界面中的数据发生改变

1、push()、pop()、shift()、unshift()、splice()、sort()、reverse()
2、根据索引对数组进行重新赋值

  1. vue中调用以下函数,返回一个新数组,原数组没变,界面的数据不会发生改变

filter()、concat()、slice()、map()

四、filter应用-模糊查询

html:

<input type="text" @input="onchange()" v-model="inputText" />
<ul>
   <li v-for="item in datalist">{{ item }}</li>
</ul>

javascript:

<script>
      const { createApp, ref } = Vue
      const vm = createApp({
        data() {
          return {
            datalist: ['1aa11', '22dd2', '33gg3', 'qqa11', '2rrd2', 'dgklg3'],
            datalist1: ['1aa11', '22dd2', '33gg3', 'qqa11', '2rrd2', 'dgklg3'],
            inputText: ''
          }
        },
        methods: {
          onchange() {
            this.datalist = this.datalist1.filter(item => {
              return item.indexOf(this.inputText) > -1
            })
          }
        }
      }).mount('#app')
</script>

五、事件修饰符

1.stop 与 self 修饰符

当子节点触发事件后,若父节点有触发事件,父节点也会跟着触发

1.1.没有添加事件修饰符

html:

<ul @click="clickUlHandler()">
   <li @click="clickLiHandler()">1111</li>
</ul>

javascript:

<script>
      const { createApp, ref } = Vue
      const vm = createApp({
        methods: {
          clickUlHandler() {
            console.log('ul触发了')
          },
          clickLiHandler() {
            console.log('li触发了')
          }
        }
      }).mount('#app')
</script>

点击 < li >标签,< ul > 标签的事件也触发了
在这里插入图片描述
1.2.添加事件修饰符 stop:
stop 只能添加在 < li >
html:

<ul @click="clickUlHandler()">
   <li @click.stop="clickLiHandler()">1111</li>
</ul>

只触发了 < li > 的事件
在这里插入图片描述
1.3.添加事件修饰符 self:
self 只能添加在 < ul >

<ul @click.self="clickUlHandler()">
   <li @click="clickLiHandler()">1111</li>
</ul>

只触发了 < li > 的事件
在这里插入图片描述

还可以通过 e.stopPropagation() 解决以上问题

clickLiHandler(e) {
  e.stopPropagation()
  console.log('li触发了')
} 

2.prevent

点击链接后页面会跳转,通过 prevent 阻止页面跳转

html:

<a href="www.baidu.com" @click.prevent="clickChangePage($event)">
   	跳转页面
</a>

javascript:

<script>
      const { createApp, ref } = Vue
      const vm = createApp({
        methods: {
          clickChangePage(e) {
            // e.preventDefault()  也可以通过调用该方法阻止页面跳转
            console.log('页面跳转了')
          }
        }
      }).mount('#app')
    </script>

3.once

被该修饰符修饰的事件只触发一次

html:

<ul @click="clickUlHandler()">
   <li @click.once="clickLiHandler()">1111</li>
</ul>

javascript:

<script>
      const { createApp, ref } = Vue
      const vm = createApp({
        methods: {
          clickUlHandler() {
            console.log('ul触发了')
          },
          clickLiHandler() {
            console.log('li触发了')
          }
        }
      }).mount('#app')
</script>

< li > 只触发一次,而 < ul > 可以触发多次

在这里插入图片描述

六、按键修饰符

1.enter

html:

<input type="text" @keyup.enter="keyupHandle($event)" v-model="inputText"/>
<!-- 通过 @keyup.键值 效果一样-->
<!-- <input type="text" @keyup.13="keyupHandle($event)" v-model="inputText" /> -->

javascript:

<script>
      const { createApp, ref } = Vue
      const vm = createApp({
        methods: {
          keyupHandle(e) {
          	// 通过判断键值效果一样
            // if (e.keyCode === 13) {
            //   console.log(this.inputText)
            // }
            console.log(this.inputText)
          }
      }).mount('#app')
</script>

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

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

相关文章

聚观早报 |红魔9 Pro支持165W快充;2023Q3欧洲手机市场报告

【聚观365】11月22日消息 红魔9 Pro支持165W快充 2023Q3欧洲手机市场报告 长安汽车官宣加入蔚来换电体系 网龙战略投资Rokid IBM推出5亿美元的风险基金 红魔9 Pro支持165W快充 截至目前&#xff0c;除了已经发布或即将亮相的几款骁龙8 Gen3常规旗舰外&#xff0c;游戏手机…

梯度详解与优化实战

什么是梯度 对所有自变量求偏微分构成的向量&#xff0c;它是一个向量&#xff08;有大小和函数值增长方向&#xff09; 导数是一个标量 找最小值点坐标的案例 import torchimport numpy as np import matplotlib.pyplot as plt def himmelblau(x):return (x[0]**2x[1]-11)…

MFC 绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、正弦函数曲线实例

MFC 绘制三种不同圆形以及绘制正弦函数曲线 本文使用visual Studio MFC 平台实现绘制单一颜色圆形、渐变颜色边框圆形、渐变填充圆形以及绘制三角函数正弦函数曲线. 关于基础工程的创建请参考 01-Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 02-vis…

SpringBoot 环境使用 Redis + AOP + 自定义注解实现接口幂等性

目录 一、前言二、主流实现方案介绍2.1、前端按钮做加载状态限制&#xff08;必备&#xff09;2.2、客户端使用唯一标识符2.3、服务端通过检测请求参数进行幂等校验&#xff08;本文使用&#xff09; 三、代码实现3.1、POM3.2、application.yml3.3、Redis配置类3.4、自定义注解…

部署项目时常用的 Linux 命令

目录 1 前言2 SSH登录命令3 SCP传输命令4 CP拷贝命令5 MV移动命令6 TAR解压命令7 DU查看文件夹/文件大小8 TAIL查看日志9 NOHUP后台运行10 结语 1 前言 在应用部署过程中&#xff0c;Linux命令是必不可少的工具。它们能够帮助我们管理文件、连接服务器、拷贝文件、查看日志以及…

大数据项目--学习笔记

新零售项目介绍 1&#xff0c;行业背景介绍 一&#xff0c;百货商店 百货商店是世界商业史上第一个实行新销售方法的现代大量销售组织。其新型销售方法有&#xff1a; 1&#xff0e;顾客可以毫无顾忌地、自由自在地进出商店&#xff1b; 2&#xff0e;商品销售实行“明码标价…

java基础语法总结

导言&#xff1a; Java语言是一种面向对象的编程语言&#xff0c;具有简单、可移植、安全、高性能等特点。本篇文章主要对java的基础的语法进行一个简单的总结和概述。 目录 导言&#xff1a; 正文&#xff1a; 1. 数据类型与变量 2. 运算符与逻辑控制 3. 方法 4. 数组…

数据结构 / 结构体字节计算

1. 结构体的存储 结构体各个成员的地址是连续的结构体变量的地址是第一个成员的地址 2. 64位操作系统8字节对齐 结构体的总字节大小是各个成员字节的总和&#xff0c;字节的总和需要是最宽成员的倍数结构体的首地址是最宽成员的倍数结构体各个成员的偏移量是该成员字节的倍数…

服务号和订阅号哪个好

服务号和订阅号有什么区别&#xff1f;服务号转为订阅号有哪些作用&#xff1f;在推送频率上来看&#xff0c;服务号每月能推送四条消息&#xff0c;而订阅号可以每天&#xff08;24小时&#xff09;推送一条消息。如果企业开通公众号的目的是提供服务&#xff0c;例如售前资讯…

JOSEF约瑟 BLD-20高压漏电保护继电器 50-1000ma AC220V

系列型号 BLD-20A高压漏电保护继电器 BLD-20高压漏电继电器 BLD-20高压漏电保护继电器 BLD-20X高压漏电保护装置 BLD-G20X高压漏电保护装置 用途 BLD-20高压漏电保护装置 (以下简称继电器)主用于交流电压1-10KV系统中,频率为50HZ,对供电系统的漏电(或接地)实现有选择性保…

MyBatis 操作数据库(入门)

一&#xff1a;MyBatis概念 (1)MyBatis &#x1f497;MyBatis是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发 (2)持久层 1.持久层 &#x1f49c;持久层&#xff1a;持久化操作的层&#xff0c;通常指数据访问层(dao)&#xff0c;是用来操作数据库的 2.持久层的规范 ①…

【Web】Ctfshow Thinkphp3.2.3代码审计(1)

目录 ①web569 ②web570 ③web571 ④web572 ①web569 基础考察 /index.php/Admin/Login/ctfshowLogin ②web570 提示找路由 查看附件源码 (config.php) 发现定义了一个可执行命令的路由规则 /index.php/ctfshow/assert/eval($_POST[1]) 1system(tac /f*); ③web571 提…

The module to import is incompatible with the current project【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:心得体会:知识点OpenHarmony:HarmonyOS:项目场景: 报错: The module to import is incompatible with the current project 问题描述 希望通过 import module 将该模块引入到我的项目。 导入后出现错误,因为项目和模块…

Scannet v2 数据集介绍以及子集下载展示

Scannet v2 数据集介绍以及子集下载展示 文章目录 Scannet v2 数据集介绍以及子集下载展示参考数据集简介子集scannet_frames_25kscannet_frames_test 下载脚本 download_scannetv2.py 参考 scannet数据集简介和下载-CSDN博客 scannet v2 数据集下载_scannetv2数据集_蓝羽飞鸟的…

pandas分组选中最大值并且新增列

题目 根据每个session_id分组&#xff0c;将popular最大的值设为这个session中所有popular的值 category item_id label popular session_id 0 4729 True 53.0 4069 0 4729 True 53.0 4069 0 4729 True 53.0 4069 0…

C++ PCL点云dscan密度分割三维

程序示例精选 C PCL点云dscan密度分割三维 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《C PCL点云dscan密度分割三维》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。…

hdlbits系列verilog解答(7420 chip)-49

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本次将实现7420逻辑芯片,它内部有2个4输入的与非门电路,外部有8个输入和2个输出管脚,功能框图如下所示: 二、verilog源码 module top_module ( input p1a, p1b, p1c, p1d,output p1y,input p2a, p2b, p2c…

Proteus仿真--基于数码管显示的频率计设计

本文介绍基于数码管的频率计设计&#xff08;完整仿真源文件及代码见文末链接&#xff09; 仿真图如下 本设计中80C51单片机作为主控&#xff0c;用数码管作为显示模块&#xff0c;按下按键K1后可进行频率测量并显示 仿真运行视频 Proteus仿真--数码管显示的频率计 附完整Pro…

如何使用nginx部署静态资源

Nginx可以作为静态web服务器来部署静态资源&#xff0c;这个静态资源是指在服务端真实存在&#xff0c;并且能够直接展示的一些文件数据&#xff0c;比如常见的静态资源有html页面、css文件、js文件、图片、视频、音频等资源相对于Tomcat服务器来说&#xff0c;Nginx处理静态资…

学习.NET验证模块FluentValidation的基本用法(续3:ASP.NET Core中的调用方式)

FluentValidation模块支持在ASP.NET Core项目中进行手工或自动验证&#xff0c;主要验证方式包括以下三种&#xff1a;   1&#xff09;手工注册验证类&#xff0c;并在控制器或其它模块中调用验证&#xff1b;   2&#xff09;基于ASP.NET验证管道&#xff08;validation …