首页 > 其他分享 >vue3~

vue3~

时间:2024-07-15 21:56:10浏览次数:15  
标签:组合式 数据 对象 侦听 API vue3 ref

Vue3的优势

Vue3 组合式API vs Vue2 选项式 API

vue3的脚手架 --- create-vue

npm init vue@latest

项目目录和关键文件

组合式API 

1.setup选项

setup选项的执行时机

beforeCreate钩子之前 自动执行

setup选项的写法

2.reactive和ref函数

reactive()

作用:接受对象类型数据的参数传入并返回一个响应式的对象

ref()

作用:接收简单类型或者对象类型的数据传入并返回一个响应式的对象

reactive和ref总结

3.computed

计算属性基本思想和Vue2的完全一致,组合式API下的计算属性只是修改了写法

4.watch

作用: 侦听一个或者多个数据的变化,数据变化时执行回调函数

俩个额外参数:1. immediate(立即执行) 2. deep(深度侦听)

侦听单个数据

1. 导入watch函数

2. 执行watch函数传入要侦听的响应式数据(ref对象)和回调函数

侦听多个数据

vue2: 使用对象来实现,将多个响应数据写在对象的属性,watch的deep:true

vue3:同时侦听多个响应式数据的变化,不管哪个数据变化都需要执行回调

immediate

说明:在侦听器创建时立即触发回调, 响应式数据变化之后继续执行回调

deep

概念

默认机制:通过watch监听的ref对象默认是浅层侦听的,直接修改嵌套的对象属性不会触发回调执行,需要开启deep 选项

精确侦听对象的某个属性

需求:在不开启deep的前提下,侦听age的变化,只有age变化时才执行回调

总结

5.生命周期函数

Vue3的生命周期API (选项式 VS 组合式)

生命周期函数基本使用

执行多次

总结

5.父子通信

组合式API下的父传子

defineProps 原理:就是编译阶段的一个标识,实际编译器解析时,遇到后会进行编译转换

组合式API下的子传父

总结

6.模版引用

概念

通过ref标识获取真实的dom对象或者组件实例对象

如何使用(以获取dom、组件)

defineExpose()

总结

7.provide和inject

作用和场景

顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信

跨层传递普通数据

跨层传递响应式数据

跨层传递方法

总结

标签:组合式,数据,对象,侦听,API,vue3,ref
From: https://blog.csdn.net/m0_73882020/article/details/140398317

相关文章

  • vue2和vue3的生命周期对比?
    Vue2和Vue3在生命周期钩子函数方面存在明显的区别,这些区别主要体现在命名、新增钩子函数、触发时机以及API的使用方式等方面。以下是对两者生命周期的详细对比:一、命名变化Vue2:生命周期钩子函数的名称通常以"before"、"created"、"mounted"等前缀命名,如beforeCreate、crea......
  • vue3快速上手指南
    1.Vue3简介2020年9月18日,Vue.js发布版3.0版本,代号:OnePiece(n经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者官方发版地址:Releasev3.0.0OnePiece·vuejs/core截止2023年10月,最新的公开版本为:3.3.41.1.【性能的提升】打包大小减少41%。初次渲染快......
  • Vue3中,使用TSX/JSX编写的父组件,如何向子组件中传递具名插槽(slot)的内容
    子组件(Child)-模板代码:<template><divclass="child-component"><divclass="header-box"><slotname="header"></slot></div><slot></slot></div></tem......
  • vue3+vite学习日记之路由
    一、新项目开启网上的项目视频大多数要什么加好友、评论啥的,我嫌麻烦,还是自己边看边写自己的项目吧。ps:可能会和参考视频有一些差异。二、项目创建先创建项目并进行一些安装配置:1、npmcreatevite@latest->输入项目名称->选择vue->选择ts->根据提示进行 2、安装vue-rou......
  • vue3中的props和emit
    首先我们要明确props和emit是在父子组件(嵌套组件)中使用的。想要在父组件中渲染出子组件里的内容,需要在父组件中导入子组件,并在模板中渲染子组件。那父子组件中如何通信呢?就需要使用到props和emit。props当子组件要接受父组件传递的数据信息时,也可以说是父组件传递数据给子......
  • Vue3+Element Plus 使用sortablejs对el-table表格进行拖拽
    sortablejs官网:点击跳转一、安装sortablejsnpminstallsortablejs--save二、 页面按需引入importSortablefrom'sortablejs';三、组件方法1.temlate:<template><el-tableref="tableHeader":data="tableData"row-key="id"style=&quo......
  • vue3+Element Plus 自定义表格单选 多选
    项目背景:用vue3+elementplus做一套考试系统功能场景:添加试题中分为客观题、主观题两种类型,在客观题会出现单选题、多选题两种类型就会导致单选题只能勾选一个答案、多选题能勾选多个答案。效果图废话不说直接上代码<el-buttonclass="btn"icon="Plus"plainst......
  • 静态html vue3 element-plus 示例页面
    代码:<!doctypehtml><html><head><metacharset="utf-8"><title>example</title><!--复制于文件:https://unpkg.com/[email protected]/dist/vue.global.js--><scriptsrc="/......
  • 【Django+Vue3 线上教育平台项目实战】构建高效线上教育平台之首页模块
    文章目录前言一、导航功能实现a.效果图:b.后端代码c.前端代码二、轮播图功能实现a.效果图b.后端代码c.前端代码三、标签栏功能实现a.效果图b.后端代码c.前端代码四、侧边栏功能实现1.整体效果图2.侧边栏功能实现a.效果图b.后端代码c.前端代码3.侧边栏展示分类及课程......
  • ts vue3 自定义指令
    当然,以下是将前面两个步骤汇总到一起的完整实现方案:1.定义指令首先,在src/directives文件夹中创建你的自定义指令文件。例如,v-focus.ts和v-color.ts:v-focus.ts:import{Directive}from'vue';constvFocus:Directive={mounted(el){el.focus();}};ex......