一,性能

二,什么是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>
  1. shallowReactive - 浅层响应式数据对象
  2. shallowRef - 创建浅层的 ref

  我们都知道reactive创建的是复杂的数据格式,ref是单一的数据格式,这两个都是通过ES6 的proxy实现的,当我们使用reactive创建对象复杂的数据结构式,例如(对象嵌套对象),当我们改变某一个值得时候其实是通过diff算法中的递归实现的,每一个小对象都是proxy对象,这样的话会很消耗性能。

  shallowReactive创建出来的浅层响应式数据对象,例如复杂的数据结构,对象嵌套对象,当我们改变第一层的对象时,只有第一层是proxy对象,其余全是普通对象,并且后面的对象也会跟着改变,当我们不改变第一层对象的时候,直接去改变后续的对象的时候是改变不了的

  shallowRef和上面所述一样,只不过vue监听的是 .value

vue3.0的更多相关文章

  1. 预计2019年发布的Vue3.0到底有什么不一样的地方?

    摘要: Vue 3.0预览. 原文:预计今年发布的Vue3.0到底有什么不一样的地方? 作者:小肆 微信公众号:技术放肆聊 Fundebug经授权转载,版权归原作者所有. 还有几个月距离 vue2 的 ...

  2. 纯小白入手 vue3.0 CLI - 3.3 - 路由的导航守卫

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...

  3. 纯小白入手 vue3.0 CLI - 3.2 - 路由的初级使用

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...

  4. 纯小白入手 vue3.0 CLI - 3.1 - 路由 ( router )

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...

  5. 纯小白入手 vue3.0 CLI - 2.7 - 组件之间的数据流

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...

  6. VUE3.0升级与配置(跨域、全局scss变量等)

    1.检查本机vue版本 vue -V 2.升级vue3.0命令 npm install -g @vue/cli 3.创建完项目后,在项目根目录新增vue.config.js文件,插入代码(简洁) mo ...

  7. 使用vue3.0和element实现后台管理模板

    通过自己所学的这段时间,利用空余时间,使用vue3.0脚手架搭建的一个关于后台的管理模板,所实现功能也是模仿一个后台的界面,数据分为两种存放,一种是直接存储到mlab,这里的数据是存放这登录注册,只有 ...

  8. 纯小白入手 vue3.0 CLI - 2.6 - 组件的复用

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...

  9. 纯小白入手 vue3.0 CLI - 2.5 - 了解组件的三维

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...

  10. 纯小白入手 vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...

随机推荐

  1. 任意的形如 z = F(x,y)的曲面生成与显示---基于OpenGL Core Profile

    运行结果:   (圆锥面) (抛物面) (马鞍面) 其中的做法是:从顶部看上去就是一个平面网格.每个点的 z.x的位置都是程序细分出来的(指定起始.结束.步长).比较固定.但高度 y 的计算使用 用户 ...

  2. JavaScript 字符串的相关方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 制作带curl命令的容器

    创建一个容器,启动后使用curl命令请求指定的地址 方法一.固定的地址,创建Dockerfile前先修改entrypoint.sh里的地址 vi entrypoint.sh#! /bin/bashcu ...

  4. 博弈论练习4 Calendar Game(SG函数)

    题目链接在这里:D-Calendar Game_牛客竞赛博弈专题班组合游戏基本概念.对抗搜索.Bash游戏.Nim游戏习题 (nowcoder.com) 这题网上有关于奇偶性来找规律的做法,有点人类智 ...

  5. Java学习笔记-BigDecimal类型

    1.介绍 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更 ...

  6. 116、商城业务---分布式事务---seata的AT模式存在的问题&&最终一致性库存解锁逻辑

    seata的AT模式不适合高并发的项目,因为它需要加锁来保证回滚.因此我们的订单服务方法中就尽量不能使用@GlobalTransactional来管理分布式事务. 因此在订单服务中,我们使用下面这种方 ...

  7. 基于Rocky Linux搭建Windows域控制器

    1.基于Rocky Linux搭建Windows域控制器 https://blog.csdn.net/Sakura0156/article/details/125822938?spm=1001.210 ...

  8. 文件上传 upload-labs Pass-17 二次渲染

    Pass-17 审计源码 $is_upload = false; $msg = null; if (isset($_POST['submit'])){ // 获得上传文件的基本信息,文件名,类型,大小 ...

  9. CSP2022-S游寄

    游寄游寄,顾名思义,边游边寄 11.00AM 起床 复习了一下各种终端命令,然后又复习了一下对拍 虽然都没用到 然后接着睡. 有点小紧张,毕竟一年没搞OI 12.00AM 今天吃河虾 还行,只是有点扎 ...

  10. JAVA数据类型以及什么是字节

    强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义才能使用(安全性高) java的数据类型分为两大类 基本类型(primitive type) 引用类型(reference type) / ...