vue3.0
- https://www.yuque.com/gdnnth/vue-v3
- http://www.liulongbin.top:8085/#/
- https://www.yuque.com/woniuppp/vue3/intro
一,性能
二,什么是Vite
Vite是vue作者开发的一款试图取代webpack的工具
其原理是利用ES6的import会发送请求去加载文件的特性
拦截这些请求做一些预编译,省去webpack的冗余打包时间
1、全局安装vite:npm install create-vite-app -g (装不上的话以管理员身份运行去装)
mac电脑会报没有权限,加sudo即可
2、创建项目(使用vite,不是脚手架):npx create-vite-app project-name (创建项目过程比脚手架快多了,因为没有依赖包)
3、cd project-name -> npm install -> npm run dev
- 定义响应式数据
import { ref reactive } from 'vue'
1. ref函数和reactive函数创建响应式数据的区别 (ref只能创建单一的数据,如果想用数组、对象的话用reactive) https://www.cnblogs.com/jinzhenzong/p/12778729.html
- 组合api
1. 定义的数据,方法可以抽成一个function函数,函数内部return出去数据,方法,在setup()函数中导入即可
2. compositionApi 和 optionApi 组合使用,因为vue3使用的是compositionApi,但是运行机制还是最终注入到optionApi(还是vue2的形式)
- setup函数的执行时机
- vue2和vue3的区别

- reactive 和 ref 的区别


1 emplate>
2
3 <script>
4 import { ref, reactive, toRefs } from "vue";
5
6 export default {
7 setup() {
8 const { name, changeName } = change();
9 const { state, add } = letting();
10
11 return {
12 name,
13 changeName,
14 ...toRefs(state),
15 add,
16 };
17 },
18 };
19
20 const change = () => {
21 let name = ref("范顺是通过ref创建出来的");
22
23 const changeName = () => {
24 name.value = "hahha";
25 console.log(name);
26 };
27 return { name, changeName };
28 };
29
30 const letting = () => {
31 const state = reactive({ age: 18 });
32
33 const add = () => {
34 state.age += 1; //直接改变reactive创建出来的响应式数据是不行的,需要用到toRefs()
35 console.log(state);
36 };
37
38 return { state, add };
39 };
40 </script>
- shallowReactive - 浅层响应式数据对象
- shallowRef - 创建浅层的 ref
我们都知道reactive创建的是复杂的数据格式,ref是单一的数据格式,这两个都是通过ES6 的proxy实现的,当我们使用reactive创建对象复杂的数据结构式,例如(对象嵌套对象),当我们改变某一个值得时候其实是通过diff算法中的递归实现的,每一个小对象都是proxy对象,这样的话会很消耗性能。
shallowReactive创建出来的浅层响应式数据对象,例如复杂的数据结构,对象嵌套对象,当我们改变第一层的对象时,只有第一层是proxy对象,其余全是普通对象,并且后面的对象也会跟着改变,当我们不改变第一层对象的时候,直接去改变后续的对象的时候是改变不了的
shallowRef和上面所述一样,只不过vue监听的是 .value
vue3.0的更多相关文章
- 预计2019年发布的Vue3.0到底有什么不一样的地方?
摘要: Vue 3.0预览. 原文:预计今年发布的Vue3.0到底有什么不一样的地方? 作者:小肆 微信公众号:技术放肆聊 Fundebug经授权转载,版权归原作者所有. 还有几个月距离 vue2 的 ...
- 纯小白入手 vue3.0 CLI - 3.3 - 路由的导航守卫
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...
- 纯小白入手 vue3.0 CLI - 3.2 - 路由的初级使用
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...
- 纯小白入手 vue3.0 CLI - 3.1 - 路由 ( router )
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...
- 纯小白入手 vue3.0 CLI - 2.7 - 组件之间的数据流
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...
- VUE3.0升级与配置(跨域、全局scss变量等)
1.检查本机vue版本 vue -V 2.升级vue3.0命令 npm install -g @vue/cli 3.创建完项目后,在项目根目录新增vue.config.js文件,插入代码(简洁) mo ...
- 使用vue3.0和element实现后台管理模板
通过自己所学的这段时间,利用空余时间,使用vue3.0脚手架搭建的一个关于后台的管理模板,所实现功能也是模仿一个后台的界面,数据分为两种存放,一种是直接存储到mlab,这里的数据是存放这登录注册,只有 ...
- 纯小白入手 vue3.0 CLI - 2.6 - 组件的复用
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 纯小白入手 vue3.0 CLI - 2.5 - 了解组件的三维
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 纯小白入手 vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
随机推荐
- QT网络编程【一】
1.QUdpSocket头文件无法识别怎么解决? 问题原因:qmake没有添加network的模块.在工程配置文件中添加配置即可. 2.选择c++的socket库还是QUdpSocket? 3.同样的 ...
- vs2019远程调试win7系统的程序
vs2019远程调试 一.安装vs2019远程调试工具 首先让调试的电脑(也就是不安装vs2019的电脑),安装vs2019远程调试工具:VS_RemoteTools.exe. 网址:进行下载.h ...
- Java--接口和抽象类有什么区别
他们都不能实例化对象,都可以包含抽象方法,而且抽象方法必须被继承的类全部实现. 区别: 1.抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实 ...
- NDVI批量处理排除值-3000
代码如下: import arcpy from arcpy import env from arcpy.sa import * import sys reload(sys) sys.setdefaul ...
- 看看CabloyJS是如何异步加载并执行go wasm模块的
介绍 CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ...
- GO语言学习笔记-包结构篇 Study for Go ! Chapter eight - Package Structure
持续更新 Go 语言学习进度中 ...... GO语言学习笔记-类型篇 Study for Go! Chapter one - Type - slowlydance2me - 博客园 (cnblogs ...
- 做bad apple第二步: python如何将视频变成一帧帧的图片,如何将一帧帧的图片转为视频
直接上代码 """视频转图片""" port cv2def getphoto(video_in, video_save): cap = cv ...
- 基于.Net开发的、支持多平台、多语言餐厅点餐系统
今天给大家推荐一套支持多平台.多语言版本的订单系统,适合餐厅.酒店等场景. 项目简介 这是基于.Net Framework开发的,支持手机.平板.PC等平台.多语言版本开源的点餐系统,非常适合餐厅.便 ...
- Linux Bash Shell 中变量的 5 个易错点
Linux 中的 Bash 脚本支持对变量的操作,下面咸鱼将介绍 Linux Bash Shell 中关于变量的 5 个易错点 因为编程习惯,这类现象往往发生在大多数使用过其他流行编程语言的程序员身上 ...
- CosineWarmup理论与代码实战
摘要:CosineWarmup是一种非常实用的训练策略,本次教程将带领大家实现该训练策略.教程将从理论和代码实战两个方面进行. 本文分享自华为云社区<CosineWarmup理论介绍与代码实战& ...