【Vue学习】Vue基本使用

news2024/12/25 2:34:27

1. 模板语法

  • 插值:使用双大括号进行数据的插值,包括文本、JS表达式。
  • 动态属性:可以使用模板字符串。
  • 如果使用标签使用了v-html指令,那么标签中的子元素会被引入的html代码覆盖掉,同时也会存在xss风险。
    在这里插入图片描述
    在这里插入图片描述

2. computed和watch

计算属性和侦听器需要重点注意的地方:

  • computed有缓存,用于提升计算性能。缓存的意思就是 计算属性中的函数只有在该函数的依赖值发生改变时才会再次执行,否则计算属性中函数的返回结果不改变,函数就不再执行,直接返回结果。比如下面代码中,如果num的值不发生改变,那么计算属性中的double1double2的返回值num*2会被缓存,此时多次访问计算属性double1double2,就不会执行里面的函数,而是直接返回结果num*2
    在这里插入图片描述

  • 如果使用watch监听的是引用类型的数据,那么就无法获取深层的数据。watch默认执行handler函数,但是默认监听一层数据。开启深度监听完整的写法是一个对象,包含handler函数和一个deep属性,deep属性值为true。
    在这里插入图片描述

3. class和style

  • 在Vue中给元素绑定class有两种形式,一种是对象的形式,另一种是数组的形式。
  • 给元素绑定style属性,需要传入一个对象,对象的属性名必须是驼峰命名方式。
    在这里插入图片描述
    在这里插入图片描述

4. 条件

Vue中的条件渲染指令主要有四个:v-ifv-else-ifv-elsev-show

v-if和v-show的区别?(以下答案由ChatGPT给出):

V-if 指令用于条件渲染,它会根据表达式的值的真假来决定是否渲染元素。如果表达式的值为 false,则该元素不会被渲染并且也不会保留在 DOM 中。

V-show 指令用于条件展示,它不会从 DOM 中删除元素,只是简单地使用 CSS 属性 display 控制元素的显示和隐藏。

总的来说,V-if 更适用于在运行时动态添加/删除元素,而 V-show 更适用于频繁切换显示和隐藏。

在这里插入图片描述

5. 循环

  • 在Vue中可以使用v-for来循环遍历数组和对象。如果遍历数组,v-for中可以传入两个参数(item, inedx),参数item表示数组中的每一个元素值,参数index表示每一个元素的索引值。如果遍历对象,v-for中可以传入三个参数(val, key, index)val表示对象的属性值,key表示对象的属性名,index表示对象的索引值。
    在这里插入图片描述

6. 事件

  • Vue中事件触发时生成的事件对象event,是原生的event对象,比如触发click事件的event事件类型是PointerEvent
    在这里插入图片描述
    在这里插入图片描述

7. 表单

<template>
    <div>
        <p>输入框: {{name}}</p>
        <input type="text" v-model.trim="name"/>
        <input type="text" v-model.lazy="name"/>
        <input type="text" v-model.number="age"/>

        <p>多行文本: {{desc}}</p>
        <textarea v-model="desc"></textarea>
        <!-- 注意,<textarea>{{desc}}</textarea> 是不允许的!!! -->

        <p>复选框 {{checked}}</p>
        <input type="checkbox" v-model="checked"/>

        <p>多个复选框 {{checkedNames}}</p>
        <input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
        <label for="jack">Jack</label>
        <input type="checkbox" id="john" value="John" v-model="checkedNames">
        <label for="john">John</label>
        <input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
        <label for="mike">Mike</label>

        <p>单选 {{gender}}</p>
        <input type="radio" id="male" value="male" v-model="gender"/>
        <label for="male"></label>
        <input type="radio" id="female" value="female" v-model="gender"/>
        <label for="female"></label>

        <p>下拉列表选择 {{selected}}</p>
        <select v-model="selected">
            <option disabled value="">请选择</option>
            <option>A</option>
            <option>B</option>
            <option>C</option>
        </select>

        <p>下拉列表选择(多选) {{selectedList}}</p>
        <select v-model="selectedList" multiple>
            <option disabled value="">请选择</option>
            <option>A</option>
            <option>B</option>
            <option>C</option>
        </select>
    </div>
</template>

<script>
export default {
    data() {
        return {
            name: '小明',
            age: 18,
            desc: '自我介绍',

            checked: true,
            checkedNames: [],

            gender: 'male',

            selected: '',
            selectedList: []
        }
    }
}
</script>
  • 输入框 <input type="text" v-model.trim="name"/>
    在这里插入图片描述

v-model修饰符有:trimlazynumber等。
trim修饰符能够自动过滤绑定值两端的空格。
lazy 修饰符可以将表单元素的 input 事件改为 change 事件。在默认情况下,当用户输入时,表单元素的 input 事件会即时触发数据的更新,这样可能会频繁触发组件更新。使用 lazy 修饰符后,只有在表单元素失去焦点(即触发了 change 事件)后,才会触发数据的更新,从而减少了组件更新的次数,提高了性能。
number修饰符可以将输入的值自动转为数字类型。默认情况下,v-model 双向绑定的值是字符串类型,而使用 number 修饰符后,输入框中输入的值会被自动转为数字类型。如果输入的值不能转为数字,则绑定的值将是 NaN。

  • 多行文本 <textarea v-model="desc"></textarea>
    在这里插入图片描述
  • 复选框 <input type="checkbox" v-model="checked"/>
    复选框双向绑定的是一个布尔类型的数据
    在这里插入图片描述
  • 多个复选框
    在这里插入图片描述
  • 单选
    在这里插入图片描述
  • 下拉列表选择
    在这里插入图片描述
  • 下拉列表选择(多选)
    在这里插入图片描述

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

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

相关文章

Python + Airtest + poco + pytest + pytest-html 实现Android App自动化测试框架

Python Airtest poco pytest pytest-html 实现Android App自动化测试框架 一、背景 为了尝试除Appium外的测试框架&#xff0c;本文将介绍基于网易的airtest框架为基础&#xff0c;配合poco及pytest实现对Android App的自动化测试。 二、框架介绍 框架集成使用airtest p…

puzzle(1321)时间旅人

时间旅人 最强大脑同款项目。​​​​​​​ 每个指针会带动周围2圈指针一起带动&#xff0c;内圈8个旋转180度&#xff0c;外圈16个旋转90度&#xff0c;全部调整为朝上则胜利。 问题本质&#xff1a; 很明显&#xff0c;问题本质就是求每个格子的点击次数&#xff0c;最少为…

Mac mini 外接移动硬盘无法显示,磁盘工具装载报错显示 com apple diskmanagement disenter

使用“启动安全性实用工具”可确保 Mac 始终从您指定的启动磁盘以及合法的受信任操作系统启动。 如果您使用的是配备 Apple T2 安全芯片的 Mac&#xff0c;则“启动安全性实用工具”提供以下三项功能来帮助保护您的 Mac 免受未经授权的访问&#xff1a;固件密码保护、安全启动…

Java中安装Maven环境

Java中安装Maven环境 apache-maven-3.6.0 下载地址 云盘不限速下载 或者进入官网按下图下载 方法/步骤一 安装 打开压缩包&#xff0c;将maven压缩包解压至软件安装处&#xff0c;建议D根目录或其他&#xff0c;记住安装位置 类似于 方法/步骤二 环境变量配置 变量 1.新…

XSS-labs通关挑战

目录标题1、开始页面2、level 13、level 24、level 35、level 46、level 57、level 68、level 79、level 810、level 911、level 1012、level 1113、level 1214、level 131、开始页面 2、level 1 在url后面可以发现有注入点。如下&#xff1a; 这里出现弹窗&#xff0c;可以知道…

一文搞清楚LoRa网关,LoRa网关全知道

欢迎来到东用知识小课堂下面&#xff0c;今天我们用东用科技的OGC300系列LoRa为例&#xff0c;以简单的方式帮助大家了解一下LoRa相关的小知识一、LoRa网关的基本介绍LoRa是semtech公司创建的低功耗局域网无线标准&#xff0c;低功耗一般很难覆盖远距离&#xff0c;远距离一般功…

Roblox小游戏走出元宇宙试炼年

当元宇宙业务成为海内外互联网巨头急于甩掉的包袱时&#xff0c;“元宇宙第一股”Roblox最近的表现极其提气。 先是2月15日&#xff0c;这家在线游戏娱乐及创作平台公布上一年财报&#xff0c;公司全年营收为 22 亿美元&#xff0c;同比增长 16%。今年1 月&#xff0c;该公司的…

HIVE --- 高级查询

目录 CTE和嵌套查询 嵌套查询 关联查询&#xff08;join&#xff09; MapJoin MapJoin操作在Map端完成 开启MapJoin操作 MAPJOIN不支持的操作 union 数据交换&#xff08;import/export&#xff09; 数据排序 order by sort by distribute by cluster by CTE和嵌…

Authing 入选德勤“中国明日之星”企业榜单

近日&#xff0c;德勤发布“德勤中国明日之星”榜单&#xff0c;该项目致力于发掘和表彰蓬勃成长、持续创新、积极承担社会责任的卓越企业。该榜单1995 年创立至今&#xff0c;被业界誉为“全球高成长企业的标杆”。Authing 凭借在 IDaaS&#xff08;身份云&#xff09; 领域突…

【likeshop】开源商城系统代码有什么好?

​开源是什么&#xff1f; 开源是指软件的源代码开放给任何人自由使用、修改和再分发的概念。开源软件的源代码可以免费获取&#xff0c;用户可以根据自己的需要修改源代码&#xff0c;并且可以将修改后的代码免费分发给其他人使用。开源软件的源代码是公开的&#xff0c;其他人…

谈谈分布式系统的CAP理论

目录什么是CAP为什么三者不可得兼CAP原则权衡CAP原则实际应用什么是CAP CAP原则又称CAP定理&#xff0c;指的是在一个分布式系统中&#xff0c;Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分区…

软件测试从业多年,一直认为自己技术不错,裸辞后一晃 ,失业3个月了~

最近&#xff0c;找了很多软测行业的朋友聊天、吃饭 &#xff0c;了解了一些很意外的现状 。 我一直觉得他们技术非常不错&#xff0c;也走的测开/管理的路径&#xff1b;疫情原因&#xff0c;二三月份裸辞的&#xff0c;然后一直在找工作&#xff0c;现在还没找到工作 。 经…

Linux 文件基本属性

Linux 系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。 为了保护系统的安全性&#xff0c;Linux 系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。 在 Linux 中我们通常使用以下两个命…

(考研湖科大教书匠计算机网络)第六章应用层-第七节:万维网WWW

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;万维网概述二&#xff1a;万维网应用&#xff08;1&#xff09;URI和URLA&#xff1a;URI和URL关系B&#xff1a;URL格式&#xff08;2&#xff09…

Docker 基本操作

image操作从Docker Hub 拉取已有镜像一个Docker 镜像(image)包含了程序代码和程序运行所依赖的所有环境。 Docker 镜像一般存放在镜像仓库服务(Image Registry)里&#xff0c;默认的镜像仓库服务是Docker Hub。 用户可以制作、构建镜像、将镜像上传到镜像仓库服务&#xff0c;从…

uniCloud云开发----7、uniapp通过uni-swiper-dot实现轮播图

uniapp通过uni-swiper-dot实现轮播图前言效果图1、官网实现的效果2、需求中使用到的效果图官网提供的效果图源码1、html部分2、js部分3、css部分根据需求调整轮播图前言 uni-swiper-dot.文档 uni-swiper-dot 轮播图指示点 - DCloud 插件市场 本次展示根据需求制作的和官网用到…

记一次从文件备份泄露到主机上线

前言 记录下某个测试项目中&#xff0c;通过一个文件备份泄露到主机上线的过程。 文件备份泄露 对于测试的第一项当然是弱口令&#xff0c;bp跑了一通词典&#xff0c;无果。目录又爆破了一通&#xff0c;发现一个web.rar可通&#xff0c;赶紧下载看看&#xff0c;如下图所示…

uniapp项目搭架和首页制作

论坛项目uniapp跨端创建uniapp项目备注&#xff1a;配置常用目录&#xff08;目录名称可自定义&#xff09;配置项目的tabbar在page.json文件中配置。"tabBar": {"borderStyle": "black","color": "#90868a","selected…

CTFer成长之路之命令执行漏洞

命令执行漏洞CTF 死亡ping命令 题目描述: 路由器管理台经常存在的网络ping测试&#xff0c;开发者常常会禁用大量的恶意字符串&#xff0c;试试看如何绕过呢&#xff1f; docker-compose.yml version: "3.2"services:converter:image: registry.cn-hangzhou.ali…

液氮恒温器(电学)T9015的技术规格

液氮型低温恒温器&#xff0c;利用液氮作为降温媒介&#xff0c;标准恒温器可实现快速降温至液氮温度&#xff08;约20min&#xff09;&#xff0c;其工作原理是在恒温器内部液氮腔内装入液氮&#xff0c;通过调整控温塞与冷指的间隙来保持冷指的漏热稳定在一定值上&#xff0c…