首页 > 其他分享 >vue3之setup

vue3之setup

时间:2023-06-13 10:47:28浏览次数:38  
标签:需要 写法 setup vue3 watch Vue2 Vue3 ref

一、Vue3中script 的三种写法

Vue3 新增了一个叫做组合式 api 的东西,英文名叫 Composition API。因此 Vue3 的 script 现在支持三种写法。

1)最基本的 Vue2 写法

  1. setup() 属性

  2. <script setup>



无论是代码行数,还是代码的精简度,<script setup> 的方式是最简单的形式。

如果对 Vue 很熟悉,那么,推荐使用 <script setup> 的方式。

如果是前端新人,那么,推荐先学习第一种写法。

因为第一种写法的学习负担更小,先学第一种方式,掌握最基本的 Vue 用法。

第一种写法,跟过去 Vue2 的写法是一样的,所以不过多介绍。

第二种写法,所有的对象和方法都需要 return 才能使用,太啰嗦。除了旧项目,可以用这种方式体验 Vue3 的新特性以外,我个人不建议了解这种方式。

所以,接下来,我们主要介绍的,也就是 <script setup> ,这种写法里需要了解的内容。

二、如何使用**<script setup>**

学习 Vue3 并不代表你需要新学习一个技术,Vue3 的底层开发思想,跟 Vue2 是没有差别的。V3 和 V2 的区别就像是,你用不同的语言或者方言说同一句话。

所以我们需要关心的,就是 Vue2 里的内容,怎么用 Vue3 的方式写出来。

1、data—唯一需要注意的地方

整个 data 这一部分的内容,需要记住下面这一点。以前在 data 中创建的属性,现在全都用 ref() 声明。在 template 中直接用,在 script 中记得加 .value 。

1) 写法对比


2)注意事项

a、ref 和 reactive

Vue3 里,还提供了一个叫做 reactive 的 api。但是绝大多数场景下,ref 都够用了。

b、什么时候用 ref() 包裹,什么时候不用。

要不要用ref,就看你的这个变量的值改变了以后,页面要不要跟着变。

当然,你可以完全不需要关心这一点,跟过去写 data 一样就行。

只不过这样做,在使用的时候,需要一直 .value。

c、不要解构使用

在使用时,不要像下面这样去写,会丢失响应性。

也就是会出现更新了值,但是页面没有更新的情况。

2、methods

声明事件方法,我们只需要在 script 标签里,创建一个方法对象即可。

剩下的在 Vue2 里是怎么写的,Vue3 是同样的写法。

3、props

声明 props 我们可以用 defineProps(),具体写法如下。


4、watch

Vue3 中,watch 有两种写法。一种是直接使用 watch,还有一种是使用 watchEffect。

两种写法的区别是:

watch 需要你明确指定依赖的变量,才能做到监听效果。

而 watchEffect 会根据你使用的变量,自动的实现监听效果。

5、生命周期

Vue3 里,除了将两个 destroy 相关的钩子,改成了 unmount,剩下的需要注意的,就是在 <script setup> 中,不能使用 beforeCreate 和 created 两个钩子。

如果熟悉相关的生命周期,只需要记得在 setup 里,用 on 开头,加上大写首字母就行。


标签:需要,写法,setup,vue3,watch,Vue2,Vue3,ref
From: https://www.cnblogs.com/DTCLOUD/p/17476820.html

相关文章

  • 6.12 vue3的学习
    1.创建vue3项目:在cmd中首先找到需要保存的路径,输入vuecreate+vue项目的取名,和之前创建vue2是一样的进行如下选择 2.vite创建vue3的方式在cmd中首先输入npminitvue@latest 3.安装依赖和运行依赖#安装依赖npminstall##运行依赖npmrundev#4.vue2创建app实......
  • vue3
    目录一Vue3的变化1.性能的提升2、源码的升级3.拥抱TypeScript4.新的特性1.CompositionAPI(组合API)2.新的内置组件3.其他改变5组合式API和配置项API5.1OptionsAPI存在的问题5.2CompositionAPI的优势6项目分析分析文件目录main.jsVue2项目的main.js我们再来看看Vue3项目中......
  • Vue3基本功能实现
    vue3介绍#Vue3的变化#1.性能的提升 打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%#2.源码的升级 使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tree-Shaking#3.拥抱TypeScript Vue3可以更好的支持TypeScript......
  • uniapp vue3 setup + 云开发开发个人小程序
    最近使用uniappvue3setup+云开发开发了个人小程序,设计使用figma软件,看下成品截图吧(可以直接微信搜索【识光】小程序体验,或者最底部有码可以直接扫) ......
  • Vue3.js第一部分【核心篇】
    Vue3Vue核心Vue3快速上手​1.Vue3简介2020年9月18日,Vue.js发布3.0版本,代号:OnePiece(海贼王)耗时2年多、​2600+次提交、30+个RFC、600+次PR、99位贡献者github上的tags地址:​https://github.com/vuejs/vue-next/releases/tag/v3.0.0国内官网地址:​Vue.js-渐进式JavaScr......
  • Spring Boot&Vue3前后端分离实战wiki知识库系统<八>--分类管理功能开发二
    接着上一次SpringBoot&Vue3前后端分离实战wiki知识库系统<七>--分类管理功能开发的分类功能继续完善。分类编辑功能优化:概述:现在分类编辑时的界面长这样:很明显目前的父分类的展现形式不太人性,这里需要指定父分类的id才可以,对于用户来说这种交互是反人道的,用户怎么知道父分类......
  • vue3的composition API如何使用async语句
    问题:在setup使用aysnc,生命函数钩子和函数必须出现在await语句前面,否者会出现组件无法渲染以及内存泄漏的问题。import{ref,watch,onMounted,onUnmounted}from'vue'exportdefaultdefineAsyncComponent({asyncsetup(){constcounter=ref(0......
  • 拥抱jsx,开启vue3用法的另一种选择
    ......
  • 初始vue3——第三天
    双向绑定基本用法在前端处理表单时,我们常常需要将表单输入框的内容同步给JavaScript中相应的变量。手动连接值绑定和更改事件监听器可能会很麻烦:<input:value="text"@input="event=>text=event.target.value">v-model指令帮我们简化了这一步骤:<inputv-model="text......
  • vue3+ TS pinyin uniapp 索引列表-(A-Z)按首字母排序 ,锚点定位
    获取一维数组地址列表<scriptlang="ts"setup>import{getLocationList}from"@/apis/activity";import{onLoad}from"@dcloudio/uni-app";import{pinyin}from"pinyin-pro"import{ref}from"vue";const......