vue 3 —— 笔记(模板语法,响应式变量)

news2024/5/19 19:03:37

模板语法:

Vue 使用一种基于 html 的模板语法,使我们能声明式将其组件实例绑定到呈现的 dom 上

文本插值

基础数据绑定形式 双大括号 会替换相应组件实例 msg 属性的值

原始html

 双大括号会将数据解释为纯文本 不是html 想插入html 使用 v-html 指令

 <div v-html="html"></div>

  let html = "<p>99999</p>";

属性绑定

双大括号不能在 html 属性中使用,想要响应式的绑定一个属性 使用 v-bind指令

简写  :id ='dhynameid'

动态绑定多个值   通过不带参数的 v-bind 可以将它们绑定到单个元素上

使用 javeScript 表达式

这些表达式 会作为 javescript, 当前组件实例为作用域解析执行

Vue3 模板语法基本上和 Vue2 是一样的,但是有一些新的改进和特性。

  1. 插值:在模板中使用双大括号 {{ }} 语法进行数据绑定,例如 {{ message }}。可以在插值语法中使用 JavaScript 表达式,例如 {{ message.toUpperCase() }}

  2. 指令:使用指令可以对元素进行动态绑定和操作。常用指令包括 v-if 控制元素显示与隐藏、v-for 遍历数组生成列表、v-model 实现双向数据绑定等。

  3. 事件绑定:通过 @ 符号可以绑定事件监听器,例如 @click="handleClick"。事件监听器可以接受参数,例如 @click="handleClick(args)"

  4. 属性绑定:使用 v-bind 或简写符号 : 可以动态绑定元素属性,例如 v-bind:src="imageSrc" 或 :src="imageSrc"

  5. 动态类名和样式:使用 v-bind:class 和 v-bind:style 可以动态绑定元素的类名和样式。也可以直接在标签上使用对象或数组的方式绑定类名和样式。

  6. 插槽:插槽是 Vue 提供的一种灵活的组件内容分发机制。使用 v-slot 或其简写符号 # 可以定义插槽,为组件提供灵活的内容分发方式。

响应式

声明响应式状态

可以使用 reactive() 创建一个响应式对象或数组  

响应式对象其实就是 JavaScript proxy ,其行为表现于一般对象相似

不同之处在于vue能够跟踪响应式对象属性的访问与更改操作

要在组件中使用 响应式变量 需要在setup函数中定义并返回 // setup 是一个用于组合式api的特殊钩子函数

<script setup>

可以构建工具简化改操作

DOM更新时机

当更改响应式状态后,DOM会自动更新。然而,DOM的更新不是同步的,相反,vue将

缓冲它们知道更新周期的下个时机,以确保无论你进行了多少次状态更改,每个组件只更新一次

若要等待一个状态改变后的DOM更新完成,可以使用 nextTick() 这个全局api

深层响应性

在vue中,状态都是默认深层响应式的,这意味着即使在更改深层次的i对象或数组,改动也能被检测

响应式代理 vs. 原始对象

只有代理对象是响应式的,更改原始对象不会触发更新,因此,使用 vue 的响应式系统的

最佳实践式 仅使用你声明对象的代理版本

 

对同一个对象调用总是返回同样的代理对象,而对一个已存在的代理对象调用reactive 会返回本身

 

 

Reactive() 的局限性

 reactive() api有两条限制性

  1. 仅对对象类型有效(对象,数组和map,set这样的集合类型),对基础类型无效
  2. Vue的响应式是通过属性访问进行追踪的,因此我们必须保持对象的相同引用,这意味着我们不可以随意替换一个响应式对象

将响应式对象的属性赋值或结构至本地变量是,或是该属性传入一个函数,会失去响应性

 

用 ref 定义响应式变量

 ref允许我们可以创建任何类型值的响应式           

 ref 将传入参数包装一个带.value属性的ref对象

 和响应式的对象属性类似,ref的.value也是响应式的 

 ref 被传递给函数或是从一般对象被结构时 不会丢失响应性

 ref 在模板中使用时,会自动解包,无需使用.value

 ref在对象中会解包 数组中不会

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

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

相关文章

短距离无线通信-Zigbee

阅读引言&#xff1a; 最近在复习之前做过的项目&#xff0c; 所以向将zigbee这个协议分享出来&#xff0c; 一方面可以给需要的人看到&#xff0c; 一方面也方便自己整理zigbee的知识。 目录 一、什么是 ZigBee? 二、Zigbee 通信频段和信道 三、Zigbee协议和Zigbee协议栈 …

ATFX汇市:日本央行并未连续加息,日元剧烈贬值

ATFX汇市&#xff1a;今日11:22&#xff0c;日本央行公布4月利率决议结果&#xff0c;宣布维持0~0.1%的基准利率不变。日元应声贬值&#xff0c;三十分钟内&#xff0c;USDJPY从155.42猛涨至155.89&#xff0c;涨幅47基点。今日14:30&#xff0c;日本央行行长植田和男召开货币政…

类与对象(四)

目录 1.构造函数 1.1初始化列表 1.2 隐式类型转换 2.静态成员 2.1 静态成员变量 2.2静态成员函数 3.友元 3.1 友元函数 3.2 友元类 4.内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 1.构造函数 1.1初始化列表 我们在将构造函数的时候讲过构造函数是对一个对象整体的…

HarmonyOS ArkUI实战开发-NAPI方法扩展

在前 3 小结笔者简单介绍了 NAPI 工程并对生成的源码进行了简单介绍&#xff0c;本节笔者在前 3 小节的基础上对 NAPI 工程做个扩展&#xff0c;再额外添加一个计算 MD5 的方法 md5()。 声明md5方法 在 index.d.ts 文件中声明一个 md5() 方法&#xff0c;该方法接收一个 stri…

自己搭建的大疆无人机RTMP流媒体服务延迟太大

流程&#xff1a;无人机摄像头->图传->遥控器->流媒体服务器->取流播放&#xff0c;延迟有10秒来的&#xff0c;大家有没有什么好的方案。

思考(1)

思考&#xff1a; 1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 Windows登录的明文密码&#xff1a;是通过LSA&#xff08;Local Security Authority&#xff09;进行存储…

用过最佳的wordpress模板

西瓜红&#xff0c;作为一种充满活力和激情的颜色&#xff0c;总是能给人留下深刻的印象。当这种鲜艳的色彩与经典的设计元素相结合时&#xff0c;就能打造出一款既时尚又实用的WordPress企业模板。今天&#xff0c;我们向您隆重推荐这款西瓜红经典配色WordPress企业模板。 这…

HTML批量文件上传方案——图像预览方式

作者:私语茶馆 1.HTML多文件上传的关键方案 多文件上传包括:文件有效性校验,文件预览、存储和进度展示多个方面,本章节介绍的是文件预览的实现方案。 2.文件上传前预览 2.1.效果 选择文件前: 选择文件后: 2.2.CSS文件代码 StorageCenter.css代码 html {font-family:…

计算机组成原理实验(一)--可控加减法电路设计实验

一、一位全加器的设计 视频学习链接&#xff1a;3-2-4 定点数的加法和减法运算 — 一位全加器的硬件逻辑实现_哔哩哔哩_bilibili 仿真电路图&#xff1a; 总结&#xff1a;奇数个1时Si输出为1&#xff0c;偶数个1输出为0&#xff1b;1的个数大于等于2时&#xff0c;Ci输出1 实…

NEMU模拟器源码编译与使用

NEMU模拟器源码编译与使用 1 NEMU介绍2 NEMU编译3 NEMU使用3.1 下载MySBIBenOS3.2 使用riscv64-benos_defconfig编译NEMU3.3 编译MySBIBenOS3.4 运行MySBIBenOS 4 解决NEMU编译报错4.1 找不到readline/readline.h4.2 找不到path_manager.h 1 NEMU介绍 NEMU&#xff08;NJU Emu…

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(三)KV缓存

探索和构建 LLaMA 3 架构&#xff1a;深入探讨组件、编码和推理技术&#xff08;三&#xff09; KV缓存 在推理的每一步中&#xff0c;只对模型输出的最后一个标记感兴趣&#xff0c;因为已经有了之前的标记。然而&#xff0c;模型需要访问所有先前的标记来决定输出哪个标记&…

Redis入门到实战教程(基础篇)笔记

教学来源&#xff1a; Redis课程介绍导学_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1cr4y1671t?p1一、Redis 入门 1.认识NoSQL 2.Redis在虚拟机中的安装和开机自启 Redis在虚拟机中安装和配置开机自启-CSDN博客https://blog.csdn.net/qq_69183322/article/deta…

力扣37题:回溯算法之解数独

编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图&#xff09; 数独部分空…

每日一题(力扣45):跳跃游戏2--贪心

由于题目已经告诉了我们一定可以跳到&#xff0c;所以我们只需去考虑前进最快的方法。即 判断当前下一步能跳的各个位置中&#xff0c;哪个能带你去去向最远的地方&#xff08;why&#xff1f; 因为其他位置所能提供的最大范围都没最远那个大&#xff0c;所以最远的那个已经可以…

【元启发式算法】学生心理学优化算法 SPBO算法【Matlab代码#88】

文章目录 【获取资源请见文章第4节&#xff1a;资源获取】1. 学生心理学优化算法&#xff08;SPBO&#xff09;1.1 最好的学生1.2 次好的学生1.3 一般的学生1.4 随机提高成绩的学生 2. 部分代码展示3. 仿真结果展示4. 资源获取说明 【获取资源请见文章第4节&#xff1a;资源获取…

VTK----VTK数据结构详解3(代码篇)

上篇文章&#xff08;VTK----VTK数据结构详解&#xff08;计算机篇&#xff09;-CSDN博客&#xff09;从计算机数据结构&#xff08;数组、链表等&#xff09;的角度对数据数组、数据对象、数据属性的实现原理进行了说明&#xff0c;下面从代码的层面详细说明它们的使用及相关实…

【Leetcode笔记】501.二叉搜索树中的众数

文章目录 题目要求ACM 模式代码知识点 题目要求 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出并返回 BST 中的所有 众数&#xff08;即&#xff0c;出现频率最高的元素&#xff09;。 如果树中有不止一个众数&#xff0c;可以按 …

智能合约——提案demo

目录 这是一个超超超级简单的智能合约提案项目&#xff0c;你确定不点进来看一下吗&#xff1f; 引言&#xff1a; 1、搭建开发环境&#xff1a; 2、编写智能合约&#xff1a; 3、部署智能合约&#xff1a; ​编辑​编辑4、编写前端交互代码&#xff08;使用web3.js&…

MySQL中的Performance Schema是什么?

MySQL中的Performance Schema是什么&#xff1f; Performance Schema 是 MySQL 的一个特性&#xff0c;主要用于监控 MySQL 服务器在运行时的性能和资源使用情况。它首次引入于 MySQL 5.5 版本&#xff0c;并在后续版本中得到增强。Performance Schema 提供了一种方式来收集数…

PID算法学习

PID算法介绍 在过程控制中&#xff0c;按偏差的比例&#xff08;P&#xff09;、积分&#xff08;I&#xff09;和微分&#xff08;D&#xff09;进行控制的PID控制器&#xff08;亦称PID调节器&#xff09;是应用最为广泛的一种自动控制器。它具有原理简单&#xff0c;易于实…