初识vue3(vue简介,环境配置,setup语法糖)

news2025/7/26 14:26:56

一,前言

今天学习vue3

二,vue简介及如何创建vue工程

Vue 3 简介

Vue.js(读音 /vjuː/,类似 “view”)是一款流行的渐进式 JavaScript 框架,用于构建用户界面。Vue 3 是其第三代主要版本,于 2020 年 9 月正式发布,在性能、灵活性和可维护性方面进行了全面升级,成为现代前端开发的热门选择之一。

如何创建vue工程

首先需要安装一下node.js直接在官网或者中文网都可以安装,按照指示安装即可。

然后我们就可以打开命令提示符,然后输出node来确认是否安装成功如果显示的是

Welcome to Node.js v22.16.0.

说明安装成功。然后我们就可以创建项目了。

还是打开我们的命令提示符。输入下面这行代码就可以开始创建。我们这里使用Vite创建项目。这也是官方推荐的。

我们可以从它的官方文档中获取这些信息,中文官方文档

npm create vite@latest my-vue-project

里面都有这些信息。

创建完成后,进入项目目录并安装依赖:

cd my-vue-project
npm install

项目创建并安装依赖后,可以启动开发服务器:

npm run dev

然后就好了

然后输入完之后回车就创建好了,在VScode中打开就可以了,他会提示你安装插件直接安装即可。

Vue 项目的基本结构通常包括:

src/ - 源代码目录

  • App.vue - 主组件(根)

  • main.js/main.ts - 入口文件

  • components/ - 组件目录

  • views/ - 视图页面目录

  • router/ - 路由配置

  • store/ - Vuex 状态管理

  • public/ - 静态资源目录

  • package.json - 项目依赖和脚本配置

  • vite.config.js/vue.config.js - 构建配置

选择适合的项目模板

创建项目时,你可以根据需求选择不同的模板:

  • vue - 基础 Vue 3 项目
  • vue-ts - Vue 3 + TypeScript 项目
  • 在这里插入图片描述

在这里插入图片描述

三,OptionsAPI与CompositionAPI

在 Vue 框架里,Options API(选项式 API )和 Composition API(组合式 API )是编写组件的两种主要方式,区别如下:

定义与代码风格

  • Options API:在 Vue 2 及之前版本广泛使用 。它将组件的不同部分(如数据、方法、计算属性、生命周期钩子等)划分到不同选项中,以对象属性形式呈现。
  • Composition API:Vue 3 引入的新特性。基于函数来组织代码,通过 setup 函数将相关逻辑(数据、方法等)封装在独立函数(组合函数或 Composables )中。

简而言之,言而总之,Options API就是把一个功能的不同部分分开存放。CompositionAPI就是用函数把一个功能整体放到一起。

总体而言,Options API 简单直观,适合初学者和小型项目;Composition API 在大型复杂项目中,在逻辑复用、代码组织和维护等方面优势明显 。实际开发可根据项目需求和团队偏好选择。

四,setup函数

Vue 3 的 Composition API 引入了 setup 函数,这是一个全新的组件选项,用于在组件实例初始化之前组合响应式数据和方法。

基本用法

setup(){
//里面可以填数据,方法。
let name = 'zhangsan'
let age = 18   //此时的age和name不是响应式的后面在学如何改成响应式的。
funtion changename(){
age += 1
console.log(age)
}
return{name,age,changename}
}

vue3中setup函数中不可以使用this,setup函数中的this是undefined,Vue3中已经弱化this了。

setup语法糖

其实就是把setup放到script里面例如:

<script lang="ts">
export default {
    name:'person',
}
</script>
<script lang="ts" setup>
let name = '张三';
let age = 18;
let address = '北京';


function changeName(){
    name = '李四';
}
function changeAge(){
    age = 20;
}
function showTel(){
    address = '上海';
}
  return {
    name,
    age,
    address,
    changeName,
    changeAge,
    showTel
  }
  </script>

同样我们还有一种写法是

<script lang="ts" setup name:'person'>

如果你先要让组件名和这个里面的名字不一样的话可以下载一个插件在终端里面输入。

 npm i vite-plugin-vue-setup-extend -D

然后打开Vite.config.ts这个文件

将刚才下载的插件引入进去,然后再在插件里面调用一下这个就是在plugins中。然后就可以了

在这里插入图片描述

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

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

相关文章

LeetCode-链表操作题目

虚拟头指针&#xff0c;在当前head的前面建立一个虚拟头指针&#xff0c;然后哪怕当前的head的val等于提供的val也能进行统一操作 203移除链表元素简单题 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(…

【ARM】MDK浏览信息的生成对于构建时间的影响

1、 文档目标 用于了解MDK的代码浏览信息的生成对于工程的构建是否会产生影响。 2、 问题场景 客户在MDK中使用Compiler 5对于工程进行构建过程中发现&#xff0c;对于是否产生浏览信息会对于构建时间产生一定的影响。在Options中Output栏中勾选了Browse Information后&#…

py爬虫的话,selenium是不是能完全取代requests?

selenium适合动态网页抓取&#xff0c;因为它可以控制浏览器去点击、加载网页&#xff0c;requests则比较适合静态网页采集&#xff0c;它非常轻量化速度快&#xff0c;没有浏览器开销&#xff0c;占用资源少。当然如果不考虑资源占用和速度&#xff0c;selenium是可以替代requ…

docker B站学习

镜像是一个只读的模板&#xff0c;用来创建容器 容器是docker的运行实例&#xff0c;提供了独立可移植的环境 https://www.bilibili.com/video/BV11L411g7U1?spm_id_from333.788.videopod.episodes&vd_sourcee60c804914459274157197c4388a4d2f&p3 目录挂载 尚硅谷doc…

SpringBoot高校宿舍信息管理系统小程序

概述 基于SpringBoot的高校宿舍信息管理系统小程序项目&#xff0c;这是一款非常适合高校使用的信息化管理工具。该系统包含了完整的宿舍管理功能模块&#xff0c;采用主流技术栈开发&#xff0c;代码结构清晰&#xff0c;非常适合学习和二次开发。 主要内容 这个宿舍管理系…

ICASSP2025丨融合语音停顿信息与语言模型的阿尔兹海默病检测

阿尔兹海默病&#xff08;Alzheimers Disease, AD&#xff09;是一种以认知能力下降和记忆丧失为特征的渐进性神经退行性疾病&#xff0c;及早发现对于其干预和治疗至关重要。近期&#xff0c;清华大学语音与音频技术实验室&#xff08;SATLab&#xff09;提出了一种将停顿信息…

LabVIEW杂草识别与精准喷洒

基于LabVIEW构建了一套集成机器视觉、智能决策与精准控制的农业杂草识别系统。通过高分辨率视觉传感器采集作物图像&#xff0c;利用 LabVIEW 的 NI Vision 模块实现图像颜色匹配与特征分析&#xff0c;结合 Arduino 兼容的工业级控制硬件&#xff0c;实现杂草定位与除草剂精准…

学习日记-day20-6.1

完成目标&#xff1a; 知识点&#xff1a; 1.集合_Collections集合工具类 方法:static <T> boolean addAll(Collection<? super T> c, T... elements)->批量添加元素 static void shuffle(List<?> list) ->将集合中的元素顺序打乱static <T>…

【音视频】 FFmpeg 解码H265

一、概述 实现了使用FFmpeg读取对应H265文件&#xff0c;并且保存为对应的yuv文件 二、实现流程 读取文件 将H265/H264文件放在build路径下&#xff0c;然后指定输出为yuv格式 在main函数中读取外部参数 if (argc < 2){fprintf(stderr, "Usage: %s <input file&…

软件测试|FIT故障注入测试工具——ISO 26262合规下的智能汽车安全验证引擎

FIT&#xff08;Fault Injection Tester&#xff09;是SURESOFT专为汽车电子与工业控制设计的自动化故障注入测试工具​&#xff0c;基于ISO 26262等国际安全标准开发&#xff0c;旨在解决传统测试中效率低、成本高、安全隐患难以复现的问题&#xff0c;其核心功能包括&#xf…

3D拟合测量水杯半径

1&#xff0c;目的。 测量水杯的半径 如图所示&#xff1a; 2&#xff0c;原理。 对 3D 点云对象 进行圆柱体拟合&#xff0c;获取拟合后的半径。 3&#xff0c;注意事项。 在Halcon中使用fit_primitives_object_model_3d进行圆柱体拟合时&#xff0c;输出的primitive_para…

Python训练打卡Day38

Dataset和Dataloader类 知识点回顾&#xff1a; Dataset类的__getitem__和__len__方法&#xff08;本质是python的特殊方法&#xff09;Dataloader类minist手写数据集的了解 在遇到大规模数据集时&#xff0c;显存常常无法一次性存储所有数据&#xff0c;所以需要使用分批训练的…

Selenium基础操作方法详解

Selenium基础操作方法详解&#xff1a;从零开始编写自动化脚本&#xff08;附完整代码&#xff09; 引言 Selenium是自动化测试和网页操作的利器&#xff0c;但对于新手来说&#xff0c;掌握基础操作是成功的第一步。本文将手把手教你使用Selenium完成浏览器初始化、元素定位、…

简单三步FastAdmin 开源框架的安装

简单三步FastAdmin 开源框架的安装 第一步&#xff1a;新建站点1&#xff0c;在宝塔面板中&#xff0c;创建一个新的站点&#xff0c;并填写项目域名。 第二步&#xff1a;上传框架1&#xff0c;框架下载2&#xff0c;上传解压缩 第三步&#xff1a;配置并安装1&#xff0c;进入…

RISC-V 开发板 MUSE Pi Pro 搭建 Spacengine AI模型部署环境

视频讲解&#xff1a; RISC-V 开发板 MUSE Pi Pro 搭建 Spacengine AI模型部署环境 Spacengine 是由 进迭时空 研发的一套 AI 算法模型部署工具&#xff0c;可以方便的帮助用户部署自己的模型在端侧&#xff0c; 环境部署的方式&#xff0c;官方提供了两种方式&#xff1a; do…

【Unity】AudioSource超过MaxDistance还是能听见

unity版本&#xff1a;2022.3.51f1c1 将SpatialBlend拉到1即可 或者这里改到0 Hearing audio outside max distance - #11 by wderstine - Questions & Answers - Unity Discussions

Qt 读取和写入 INI 格式的配置文件

Qt 读取和写入 INI 格式的配置文件 前言&#xff1a;INI 配置文件在 Qt 开发中的重要性基础夯实&#xff1a;INI 文件结构与 QSettings 核心概念1. INI 文件的基本结构2. QSettings 类概述3. 初始化 QSettings 对象4. 基本读写操作5. 高级操作技巧5.1 处理数组和列表5.2 检查键…

Spring:从青铜到王者,你的Java修炼手册

一、Spring家族宇宙&#xff1a;原来你是这样的框架&#xff08;青铜段位&#xff09; 1.1 Spring的"前世今生"&#xff1a;从泡面到满汉全席 ​​2002年的泡面哲学​​&#xff1a;Rod Johnson在厨房煮泡面时突然顿悟&#xff1a;"Java开发为什么不能像泡面一…

Qt creator 设计页面控件认识与了解

记录一下 Qt 中的认识与了解&#xff1a; 在 Qt 中&#xff0c;这些功能属于 Qt Designer 的组件过滤系统&#xff0c;旨在帮助开发者在对象浏览器中快速定位和使用不同类型的控件和组件。以下是每个功能的详细讲解&#xff1a; ‌Layouts&#xff08;布局&#xff09;‌&…

NVIDIA Mellanox BlueField-2 DPU(Data Processing Unit)智能网卡的调试和使用

专有名词 OOB&#xff1a; BMC&#xff1a; BFB&#xff1a; EMMC&#xff1a; 关键词解释eMMCEmbedded Multi-Media Card——把 NAND 闪存颗粒与控制器封装在一起的板载存储件&#xff0c;类似手机里的“内置储存” .deb&#xff1a;文件是​​Debian软件包格式​​的专…