Vue 3 快速上手指南(第二期)

 📚 Vue 3 快速上手指南
在本文中,我将介绍 Vue 3 的基础知识,我们将了解

1.setup

📚 如果你想深入学习 Vue 3,建议阅读官方文档并尝试更复杂的示例和项目。
👉 可以通过以下链接访问 Vue 3 官方文档:
Vue.js - 渐进式 JavaScript 框架 | Vue.js
🌟 提前祝你学习愉快,享受 Vue 3 的编程之旅! 

📝 Vue 3 笔记
1️⃣ setup 概述:
1️⃣ setup 函数是 Vue 3 中新增的一个选项,用于替代 Vue 2 中的 data、methods、computed 等选项。它是在组件实例创建之前执行的函数,用于设置组件的初始状态、生命周期钩子、事件处理函数等。
示例代码:

import { ref } from 'vue';

export default {
  setup() {
    const message = ref('Hello, Vue 3!');
    return {
      message
    };
  }
}

2️⃣ setup 的返回值:
2️⃣ setup 函数必须返回一个对象,该对象中包含了组件中需要响应式地跟踪的数据、方法等内容。
示例代码:

import { ref } from 'vue';

export default {
  setup() {
    const count = ref(0);
    const increment = () => {
      count.value++;
    };
    return {
      count,
      increment
    };
  }
}

3️⃣ setup 与 Options API 对比:
3️⃣ Options API 是 Vue 2 中的传统方式,而 setup 则更加灵活,可以更自由地组织代码,并且能够更好地与 TypeScript 配合使用。
4️⃣ setup 的语法糖:
4️⃣ 在 setup 中,可以使用 ref、reactive 等函数创建响应式数据。Vue 3 提供了一些语法糖,使得创建响应式数据更加简洁和方便。
示例代码:

import { ref } from 'vue';

export default {
  setup() {
    const count = ref(0);
    return { count };
  }
}

5️⃣ ref 创建基本类型的响应式数据:
5️⃣ 使用 ref 函数可以创建一个基本类型的响应式数据。
示例代码:

import { ref } from 'vue';

export default {
  setup() {
    const count = ref(0);
    return { count };
  }
}

6️⃣ reactive 创建对象类型的响应式数据:
6️⃣ 使用 reactive 函数可以创建一个对象类型的响应式数据。
示例代码:

import { reactive } from 'vue';

export default {
  setup() {
    const state = reactive({
      count: 0,
      message: 'Hello, Vue 3!'
    });
    return { state };
  }
}

7️⃣ ref 创建对象类型的响应式数据:
7️⃣ 尽管 ref 函数主要用于创建基本类型的响应式数据,但也可以使用 ref 来包裹对象,使其成为响应式数据。
示例代码:

import { ref } from 'vue';

export default {
  setup() {
    const obj = ref({ count: 0 });
    return { obj };
  }
}

8️⃣ ref 对比 reactive:
8️⃣ ref 和 reactive 都可以用于创建响应式数据,但它们有一些区别。ref 创建的是一个包装后的值,而 reactive 创建的是一个代理对象。
示例代码:

import { ref, reactive } from 'vue';

export default {
  setup() {
    const count = ref(0);
    const state = reactive({ count: 0 });
    return { count, state };
  }
}

9️⃣computed:

使用computed函数可以创建计算属性,它接受一个函数作为参数,并返回一个计算属性的引用。

import { ref, computed } from 'vue';

export default {
  setup() {
    const count = ref(0);
    const squaredCount = computed(() => count.value * count.value); // 使用computed语法糖创建计算属性

    return { count, squaredCount };
  }
}


🔟生命周期钩子:

Vue 3提供了onMounted、onUpdated和onUnmounted等函数,用于在组件的生命周期中执行操作。


import { ref, onMounted, onUnmounted } from 'vue';

export default {
  setup() {
    const message = ref('Hello, Vue 3!');

    // 使用onMounted和onUnmounted语法糖定义生命周期钩子
    onMounted(() => {
      console.log('Component mounted');
    });

    onUnmounted(() => {
      console.log('Component unmounted');
    });

    return { message };
  }
}

 

以上是关于 Vue 3 中 setup 的概述及其常见用法的一些笔记内容,包括相关的代码示例。希望对你有所帮助!📚🚀👋

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ionic 中对Input输入框、searchbar进行solr检索

一、概述 Ionic 是一个用于开发跨平台应用程序的开源工具,可以使用 Angular、React 或 Vue 等前端框架。要在 Ionic 应用程序中实现实时与 Solr 通信,可以使用 HTTP 客户端(如 Angular 的 HttpClient 或 Ionic 的 Native HTTP)…

MySQL—MySQL的存储引擎之InnoDB

MySQL—MySQL的存储引擎之InnoDB 存储引擎及种类 存储引擎说明MyISAM高速引擎,拥有较高的插入,查询速度,但不支持事务InnoDB5.5版本后MySQL的默认数据库存储引擎,支持事务和行级锁,比MyISAM处理速度稍慢ISAMMyISAM的…

一分钟教你下载小程序视频到手机#下载高手

本文就教你们如何下载小程序的视频到手机 首先将小程序视频下载到电脑上,然后再传送到手机上,这样就实现了下载小程序到手机上 可是怎么将小程序下载到电脑上呢?这里要借用一个工具:下载高手 下载高手工具我已经打包好了,有需要…

【算法题解】

文章目录 day4_26最长回文子串思路:代码: **DP30** **买卖股票的最好时机(一)**思路:贪心代码: 过河卒思路:动态规划---路径类代码: day4_26 https://www.nowcoder.com/questionTerminal/12e081cd10ee4794…

生命周期评估(LCA)Simapro软件应用与碳足迹分析

各企事业单位: SimaPro以系统和透明的方式轻松建模和分析复杂的生命周期,通过确定供应链中每个环节的热点,从原材料的提取到制造,分销,使用和处置,衡量所有生命周期阶段的产品和服务对环境的影响。SimaPro是…

又重新搭了个个人博客

哈喽大家好,我是咸鱼。 前段时间看到一个学弟写了篇用 Hexo 搭建博客的教程,心中沉寂已久的激情重新被点燃起来。(以前搞过一个个人网站,但是因为种种原因最后不了了之) 于是花了一天时间参考教程搭了个博客网站&…

广工电工与电子技术实验报告-8路彩灯循环控制电路

实验代码 module LED_water (clk,led); input clk; output [7:0] led; reg [7:0] led; integer p; reg clk_1Hz; reg [7:0] current_state, next_state; always (posedge clk) begin if(p25000000-1)begin …

JVM(Jvm如何管理空间?对象如何存储、管理?)

Jvm如何管理空间(Java运行时数据区域与分配空间的方式) ⭐运行时数据区域 程序计数器 程序计数器(PC),是一块较小的内存空。它可以看作是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过时间片轮转调…

Flutter 从 Assets 中读取 JSON 文件:指南 [2024]

在本教程中,我们将探讨如何从 Flutter 项目中的 asset 中读取 JSON 文件。您将找到详细的解释、实际示例和最佳实践,使您的 JSON 文件处理顺利高效。那么,让我们深入了解 Flutter 和 JSON 的世界吧! 从 asset 中读取 JSON 文件 …

RTK负载(4K可见光+高分热成像+超广角+激光测距)四光AI智能识别跟踪吊舱技术详解

无人机光电吊舱的RTK负载(4K可见光高分热成像超广角激光测距)AI智能识别跟踪吊舱技术是一种高度集成和先进的无人机观测系统。系统结合了无人机的飞行能力和光电吊舱的多功能传感器,通过集成RTK(实时动态差分定位)技术…

WebGL开发框架比较

WebGL开发框架提供了一套丰富的工具和API,使得在Web浏览器中创建和操作3D图形变得更加容易。以下是一些流行的WebGL开发框架及其各自的优缺点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Three.js 优点&#xff1a…

WoodMart主题下载:为您的电商网站带来自然而优雅的购物体验

在电子商务的激烈竞争中,一个设计精良、用户友好的在线商店是吸引和保留客户的关键。WoodMart主题,作为一款专为Shopify平台设计的高级主题,以其自然美学和强大的功能,帮助您的商店在众多竞争对手中脱颖而出。 [WoodMart主题的核…

运行游戏提示dll文件丢失,分享多种有效的解决方法

在我们日常频繁地利用电脑进行娱乐活动,特别是畅玩各类精彩纷呈的电子游戏时,常常会遭遇一个令人困扰的问题。当我们满怀期待地双击图标启动心仪的游戏程序,准备全身心投入虚拟世界时,屏幕上却赫然弹出一条醒目的错误提示信息&…

【书生浦语第二期实战营学习作业笔记(二)】

书生浦语第二期实战营学习作业&笔记(二) 操作文档:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md 基础作业 : 使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事: 八戒部署(笔记&#xff0…

基于灰狼算法的综合能源系统多时间尺度优化调度(附matlab程序)

0.代码链接 基于灰狼算法的综合能源系统多时间尺度优化调度(MATLAB程序)资源-CSDN文库 1.简述 对于冷、热、电联供综合能源系统优化问题,为了提高可再生能源利用率,故以弃风、弃光量最小和综合能源系统运行经济性为优化目标&…

mac配置maven

在 macOS 上配置 Maven 也相对简单。以下是一种常用的方法: 1. 安装maven **下载 Maven:**首先,你需要从 Maven 官网(https://maven.apache.org/download.cgi)下载最新版本的 Maven。你可以选择二进制压缩包&#xf…

redis常用数据结构

redis常用数据结构 Redis 底层在实现下面数据结构的时候,会进行特定的优化,来达到节省时间/空间的效果。 内部结构 String raw(最基本的字符串),int(实现计数功能,当value为整数的时候会用整…

JPEG图像常用加密算法简介

JPEG图像加密算法 目前,JPEG图像加密算法可以分成异或加密、置乱加密和置乱与异或组合加密。下面对这三种加密方式进行阐述。 (1) 异或加密 文献[1]提出了一种基于异或加密的JPEG图像的RDH-EI方案。该算法通过对AC系数的ACA和图像的量化表进行流密码异或&#xf…

Feign功能详解、使用步骤、代码案例

简介:Feign是Netflix开发的声明式,模板化的HTTP客户端,简化了HTTP的远程服务的开发。Feign是在RestTemplate和Ribbon的基础上进一步封装,使用RestTemplate实现Http调用,使用Ribbon实现负载均衡。我们可以看成 Feign R…

经典的免费wordpress模板

这款经典的免费WordPress模板以鲜艳的红色为主调,充满了活力与热情。设计简洁而现代,适合各种类型的项目网站。模板采用响应式设计,确保在不同设备和屏幕尺寸上都能呈现出完美的视觉效果。 红色象征着激情、活力和自信,这款模板…