当前位置: 首页 > news >正文

vue3模板语法+响应式基础

模板语法

1. disabled指令,可以用于禁用按钮

<button :disabled="isButtonDisabled">Button</button>
//:disabled是一个指令,用于根据isButtonDisabled的值来动态控制按钮的禁用状态。
使用场景:
1.防止用户重复点击按钮
2.表单验证未通过时,不能点击提交按钮
3.正在进行异步操作时,不能点击
4.操作权限控制
5.数据加载中
凡是,想禁用按钮时,就可以使用disabled指令

2. 动态绑定多个值,可以用于动态修改样式

<div v-bind="objectOfAttrs"></div>const objectOfAttrs = {id: 'container',class: 'wrapper',style: 'background-color:green'
}// 直接修改objectOfAttrs对象中的style属性值
this.objectOfAttrs.style = 'background-color:blue';
//此时修改objectOfAttrs里style的值,就可以直接使背景从绿色修改为蓝色使用场景:
1.根据不同条件切换样式
2.响应式布局适配
3.组件复用与定制

3. 动态参数

//在指令参数上
<a v-bind:[attributeName]="url"> ... </a>
<!-- 简写 -->
<a :[attributeName]="url"> ... </a>//动态的事件名称上
<a v-on:[eventName]="doSomething"> ... </a>
<!-- 简写 -->
<a @[eventName]="doSomething"> ... </a>

响应式基础

1. ref支持任何类型的值,reactive只能用于对象类型 (对象、数组和如 MapSet 这样的集合类型)

2. DOM更新不是同步的,vue会在“next tick”更新周期中缓冲所有状态的修改,以确保不管进行多少次修改,都只会被更新一次

3. 如果ref值的类型是复杂类型,在更新里面的值时,如果只更新里面的某一个值时,是不会触发更新的,需要让整个值更新才会触发更新

const shallowArray = shallowRef([/* 巨大的列表,里面包含深层的对象 */
])// 这不会触发更新...
shallowArray.value.push(newObject)
// 这才会触发更新
shallowArray.value = [...shallowArray.value, newObject]// 这不会触发更新...
shallowArray.value[0].foo = 1
// 这才会触发更新
shallowArray.value = [{...shallowArray.value[0],foo: 1},...shallowArray.value.slice(1)
]

但是如果是reactive就可以直接更新

<button @click="state.count++">{{ state.count }}
</button>import { reactive } from 'vue'const state = reactive({ count: 0 })

http://www.lryc.cn/news/519435.html

相关文章:

  • 【面试题】简单聊一下什么是云原生、什么是k8s、容器,容器与虚机相比优势
  • 数据挖掘实训:天气数据分析与机器学习模型构建
  • STM32如何使用内部晶振作为晶振
  • 【Maui】导航栏样式调整
  • 【黑马程序员三国疫情折线图——json+pyechart=数据可视化】
  • 如何实现多级缓存?
  • Saas数据库迁移单租户数据
  • LeetCode100之括号生成(22)--Java
  • 阿里云ios镜像源
  • 芯片:为何英伟达的GPU能在AI基础设施领域扮演重要角色?
  • Linux系统之hostname相关命令基本使用
  • Domain Adaptation(李宏毅)机器学习 2023 Spring HW11 (Boss Baseline)
  • 在php中,Fiber、Swoole、Swow这3个协程都是如何并行运行的?
  • SQLite PRAGMA
  • 使用python调用JIRA6 REST API及遇到的问题
  • 基于STM32的智能电表可视化设计:ESP8266、AT指令集、python后端Flask(代码示例)
  • 图片和短信验证码(头条项目-06)
  • 2501,wtl显示html
  • 嵌入式C语言:什么是指针?
  • 解锁 KaiwuDB 数据库工程师,开启进阶之路
  • ffmpeg7.0 aac转pcm
  • 【Pandas】pandas Series rdiv
  • 线程安全问题介绍
  • 为AI聊天工具添加一个知识系统 之27 支持边缘计算设备的资源存储库及管理器
  • 初识verilog HDL
  • VS2015 + OpenCV + OnnxRuntime-Cpp + YOLOv8 部署
  • Notepad++上NppFTP插件的安装和使用教程
  • Kotlin | Android Provider 的实现案例
  • 频域自适应空洞卷积FADC详解
  • Edge浏览器内置的截长图功能