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

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.kler.cn/a/500226.html

相关文章:

  • SQL UNION 操作符
  • android四大组件之一——Service
  • 带格式 pdf 翻译
  • Linux第一课:c语言 学习记录day06
  • Linux 虚拟机与windows主机之间的文件传输--设置共享文件夹方式
  • Node.js入门html,css,js 30年了nodejs环境 09年出现 15年
  • 24_自定义Redis缓存序列化机制
  • LLMSecOps:LLM和GenAI的安全解决方案
  • Golang——Go语言基础知识
  • cerebro关闭ssl
  • 【数据结构初阶】二叉树--堆(顺序结构实现)
  • 了解RabbitMQ中的Exchange:深入解析与实践应用
  • AJAX高级应用与最佳实践
  • ue5 GAS 从零开始00
  • git的rebase和merge的区别?
  • 【HTML+CSS+JS+VUE】web前端教程-15-块元素与行内元素(内联元素)
  • Spring Boot中的扫描注解如何使用
  • H266/VVC 帧内预测中 ISP 技术
  • 前端拿到zip中所有文件并下载为新的zip文件
  • 线性表的接口定义及使用
  • EFCore HasDefaultValueSql
  • 小程序相关