Vue3入门组合式 API

news/2024/7/10 2:44:25 标签: vue, 前端, vue.js

Vue3 学习

开发环境

tong ~/Projects/EasyVue3 $ node -v
v16.20.1
tong ~/Projects/EasyVue3 $ sw_vers
ProductName:            macOS
ProductVersion:         14.1.1
BuildVersion:           23B81
tong ~/Projects/EasyVue3 $ npm --version
8.19.4 
tong ~/Projects/EasyVue3 $ code -v  
1.84.2
1a5daa3a0231a0fbba4f14db7ec463cf99d7768e
arm64

#如果没有安装 vue-cli  ,  -g表示安装在node全局
npm install  @vue/cli -g
#安装好之后查看版本信息
tong ~/Projects/EasyVue3 $ vue --version
@vue/cli 5.0.8
  1. 创建 Vue3 项目
vue create tomyee-vue3

根据提示一次原则 yes/no即可,创建好之后 cd 到项目文件夹内

  1. 了解项目基本结构
    App.vue查看到使用组件 HelloWorld,点进去跳转到 HelloWorld.vue
  2. 组合式 API
    提前安装好 VScode 插件 volar,写代码可以自动提示补全导入等。
<script setup lang="ts">
import { EffectScope, computed, reactive, ref, watch, watchEffect } from 'vue';


// 1.reactive (对对象类型值进行响应式处理)
// shallowReactive(浅响应式=>只有第一层可以修改)
const myData = reactive({
  name: "tong",
  age : 18,
  friends : ['kuangshen','wuyou']
})


// function clickHandler(){
//   myData.push(10)
// }

// 2. ref (支持对基本类型值进行响应式处理)
const count = ref(0)
function clickHandler(){
  count.value++
  // content.value += "!"
  myData.age ++
}

// 3. readonly    只读,所以是非响应式的
// shallowReadonly (根属性只读,其他可读写,非响应式查看效果需要刷新)

// 4. computed 计算属性
const content = ref("这是测试文本")
const getLen = computed(()=>{
  console.log('计算属性执行一次')
  return content.value.length
})

// 5. watch 
// 侦听 ref 直接写名称 不需要.value
watch(count,(newValue,oldValue)=>{
  console.log(newValue,oldValue)
})
// 侦听 reactive 中的属性,需要通过函数的方式来包裹
watch(()=> myData.age,(newValue,oldValue)=>{
  console.log(newValue,oldValue)
})
// 侦听 reactive 本身直接写名称即可


// 6.watchEffect 新功能 ,副作用函数。 
// 只要内部包含的响应式数据发生变化,就会自动触发
watchEffect(()=>{
  console.log('count:'+count.value+',age:'+myData.age)
})
// 单个监听用 watch  多个监听用 watchEffect
</script>

http://www.niftyadmin.cn/n/5224246.html

相关文章

linux CentOS MobaXterm 通过X11 Forwarding 在本地开启图形可视化窗口

第一步 操作系统安装图形界面 X11 Forwarding dnf install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock第二步 修改参数&#xff0c;启用X11 Forwarding vim /etc/ssh/sshd_config修改参数X11Forwarding yes和X11UseLocalhost no #Al…

windows 映射 webdav 为本地磁盘

参考 https://docs.qnap.com/operating-system/qts/4.5.x/zh-cn/GUID-31D5B05F-F29E-4D61-9758-C8CF839C14FD.html WebDAV 允许用户访问和管理远程服务器上的文件。您可以通过 WebDAV 将 Windows 计算机上的共享文件夹装载为网络磁盘。 在 Windows 计算机上&#xff0c;打开“…

数字人透明屏幕是如何工作的?

数字人透明屏幕是一种令人兴奋的科技产品&#xff0c;它结合了人脸识别、全息影像技术以及透明屏幕&#xff0c;为人们带来了全新的互动体验。本文将详细介绍数字人透明屏幕的工作原理以及其应用场景。 工作原理 数字人透明屏幕的工作原理主要包括人脸识别和全息影像技术。人脸…

JavaWeb后端数据库MySQL的使用

JavaWeb MySQLSQL数据库设计 多表设计1对多1对1多对多 多表查询连接查询内连接外连接左外连接右外连接 子查询事务索引 MySQL MySQL数据模型 关系型数据库&#xff1a;建立在关系模型基础上&#xff0c;由多张相互连接的二维表组成的数据库。 SQL SQL&#xff1a;操作关系型数…

在uniCloud中使用正则表达式进行文本匹配和处理的方法

1. 正则表达式基础 正则表达式是一种用来匹配字符串的模式。它由普通字符&#xff08;例如字符 a 到 z&#xff09;和特殊字符&#xff08;称为"元字符"&#xff09;组成。以下是一些基本的正则表达式示例&#xff1a; 匹配邮箱的正则表达式&#xff1a;/^[\w-](\.…

OSG编程指南<十三>:OSG渲染状态

1、前言 在 OSG 中存在两棵树&#xff0c;即场景树和渲染树。渲染树是一棵以 StateSet 和 RenderLeaf 为节点的树&#xff0c;它可以做到 StateSet 相同的 RenderLeaf 同时渲染而不用切换 OpenGL状态&#xff0c;并且做到尽量少但在多个不同 State 间切换。渲染树在 CullVisito…

【LeetCode热题100】【哈希】字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …

Kubernetes基础(九)-标签管理

1 概述 Label&#xff08;标签&#xff09;是Kubernetes系统中一个比较重要的概念&#xff0c;给某个资源对象&#xff08;Node、Pod、Service等&#xff09;定义一个Label&#xff0c;就相当于给它打了一个标签&#xff0c;然后可以通过Label Selector&#xff08;标签选择器…