一,性能

二,什么是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. C# 事件 初学

    1.事件是可以动态添加和删除操作的,如下>>> 添加: ctr.Click+=ctr_Click; 删除:ctr.Click-=ctr_Click; 2.同一控件相同事件可累加不同事 ...

  2. find . -name "*.php" -execdir grep -nH --color=auto foo {} ';'

    find . -name "*.php" -execdir grep -nH --color=auto foo {} ';'

  3. java相关部分配置

    一.mybatis逆向工程 ① generator.properties jdbc.driverLocation=D:/testDir/Maven/repository_g/mysql/mysql-c ...

  4. C语言和C++的区别与联系(详细)

    文章转自:https://blog.csdn.net/cherrydreamsover/article/details/81835976 在学习了C语言和C++之后,这两者之间的区别我们需要仔细的捋一 ...

  5. C# IDataReader转换为Json

    1 /// <summary> 2 /// IDataReader转换为Json 3 /// </summary> 4 /// <param name="dat ...

  6. 2021SWPUCTF-WEB(二)

    ez_unserialize ​ 不知道在哪,御剑扫叭 ​ 有一个robots.txt ​ ​ 一道反序列化好像是 分析代码应该是admin=admin.passwd=ctf即可输出flag < ...

  7. What is Weight Lifting?

    Weight lifting is the process of lifting items of great mass in order to increase the muscle size an ...

  8. django 批量提交

    https://www.cnblogs.com/lbzbky/articles/11792545.html

  9. SpringBoot笔记--Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.报错的解决

    问题描述 写了SpringBoot代码之后,运行不出来结果,报出这样的一个错误:Failed to configure a DataSource: 'url' attribute is not spe ...

  10. TCP 三次握手,给我长脸了噢

    大家好,我是小富~ 个人资源分享网站:FIRE 本文收录在 Springboot-Notebook 面试锦集 前言 之前有个小伙伴在技术交流群里咨询过一个问题,我当时还给提供了点排查思路,是个典型的八 ...