IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 学习vue3,安装vue3环境,解决command volar.action.splitEditors,熟悉vue3的diff算法和虚拟DOM -> 正文阅读

[开发工具]学习vue3,安装vue3环境,解决command volar.action.splitEditors,熟悉vue3的diff算法和虚拟DOM

vue3开发的编辑器,我一直使用vscode

首先我们先安装vue3的vscode的环境配置,我们直接在插件中搜索volar,vue2使用的是vetur,那么这里有个问题,如果开发vue2就将以下两个插件禁用,如果开发vue3就将vetur禁用,否则没有代码提示。
在这里插入图片描述
以上两个插件安装完后我们打开项目正常的vscode右边会有两个三角图标
在这里插入图片描述
然后我们点击彩色那个会出现》
在这里插入图片描述
以上命令行,我们可以直接点击运行。
彩色右边那个图标我们点击后界面会切换成两个。
这样有利于我们界面跟逻辑写的时候分开互不影响,比较方便。
当然有些人可能会遇到问题点击右边三角的时候报错。
command volar.action.splitEditors
在这里插入图片描述
在这里插入图片描述

我按照网上以上的方法试了解决不了,只能重新安装vscode就好了。因此建议大家如果以上方法不行就重装下吧。

1、虚拟DOM介绍
什么是虚拟DOM?
虚拟DOM就是通过js生成一个AST节点的抽象语法树。
在这里插入图片描述
上图右边就是虚拟DOM生成的AST抽象语法树。
2、那么为什么要有虚拟DOM呢?
由于我们像以前都是通过直接获取DOM节点来操作DOM,这样非常浪费性能。因此我们用js的计算性能来换取操作DOM损耗的性能。既然无法不操作DOM,那么我们何不采用最少得操作DOM来使得性能提升,用js的算法来操作DOM是很快的。

因此我们使用Diff算法来操作DOM
3、什么是Diff算法?
diff算法就是虚拟DOM中采用的算法,把树形结构按照层级分解,只比较同级元素,不同层级的节点只有创建和删除操作。

vue 的undate过程中在遍历vnode过程中,会用不同的patch方法来patch新老vnode,如果找到对应的 newVnode 和 oldVnode,就可以复用里面的真实dom节点,避免了重复创建元素带来的性能开销。
在patch过程中,如果当前vnode存在有很多chidren的情况,那么需要分别遍历patch新的children Vnode和老的 children vnode。
我们先了解下什么类型的vnode存在children节点。
(1)element元素类型的vnode
如:

<ul>
 <li>1<li/>
 <li>2<li/>
 <li>3<li/>
 </ul>

在vue3.0源码中 ,patchElement用于处理element类型的vnode
(2)flagment碎片类型vnode
vue3.0引入了个flagment碎片。相信大家之前都遇到过vue2种我们只能有一个根节点。
如:

<template>
   <span>1</span>
   <span>2</span>
    <span>3</span>
   </template>

vue2中以上就会报错。
原因是代表任何Vue组件的Vue实例需要绑定到一个单一的DOM元素中。唯一可以创建一个具有多个DOM节点的组件的方法就是创建一个没有底层Vue实例的功能组件。
flagment出现就是用看起来像一个普通的DOM元素,但它是虚拟的,根本不会在DOM树中呈现。这样我们可以将组件功能绑定到一个单一的元素中,而不需要创建一个多余的DOM节点。

<Fragment>
   <span> 111 </span> 
   <span> 222 </span>
   <span> 333 </span>
</Fragment>

在vue3.0源码中 ,processFragment用于处理Fragment类型的vnode

今天先到这里明天在更,卷不动了。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:44:21  更:2022-07-17 16:47:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 16:23:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码