江阴公司企业网站建设新开传奇网站发布站

news/2025/10/5 5:33:28/文章来源:
江阴公司企业网站建设,新开传奇网站发布站,网站外链建设原则,做动画片的网站文章目录 一、Vue3 新特性1.1 重写双向数据绑定1.1.1 Vue2 基于Object.defineProperty() 实现1.1.2 Vue3 基于Proxy 实现 1.2 优化 虚拟DOM1.3 Fragments1.4 Tree shaking1.5 Composition API 二、 vue-devtools 调试工具三、环境配置四、脚手架目录介绍五、SFC 语法规范解析附… 文章目录 一、Vue3 新特性1.1 重写双向数据绑定1.1.1 Vue2 基于Object.defineProperty() 实现1.1.2 Vue3 基于Proxy 实现 1.2 优化 虚拟DOM1.3 Fragments1.4 Tree shaking1.5 Composition API 二、 vue-devtools 调试工具三、环境配置四、脚手架目录介绍五、SFC 语法规范解析附录推荐采用国内淘宝镜像策略 一、Vue3 新特性 1.1 重写双向数据绑定 1.1.1 Vue2 基于Object.defineProperty() 实现 数字化管理平台 Vue3ViteVueRouterPiniaAxiosElementPlus 权限系统-商城 个人博客地址 把 Vue 中的核心方法 defineReactive 做一些简化如下 function defineReactive (obj, key, val, cb) {var dep new Dep();Object.defineProperty(obj, key, {enumerable: true,configurable: true,get: (){/*....依赖收集等....*/dep.depend()return val},set:newVal {val newVal;/*触发回调*/dep.notify()}}) }Vue通过defineReactive方法实现对需要观察的对象的每个属性进行监控。dep对象就相当于一个调度中心的作用如果有数据用到这个属性它就会自动收集该属性到调度中心如果某属性发生了改变那就会通知调度中心来更新视图。 1.1.2 Vue3 基于Proxy 实现 let proxyObj new Proxy(obj,{get : function (target,prop) {return prop in target ? target[prop] : 0},set : function (target,prop,value) {target[prop] 888;} })Proxy 与 Object.defineProperty(obj, prop, desc)方式相比有以下优势 丢掉麻烦的备份数据**省去for in 循环可以监听数组变化 代码更简化 可以监听动态新增的属性可以监听删除的属性可以监听数组的索引和 length 属性 1.2 优化 虚拟DOM 在Vue2中,每次更新diff,都是全量对比,Vue3则只对比带有标记的,这样大大减少了非动态内容的对比消耗 Vue Template Explorer我们可以通过这个网站看到静态标记 patch flag 优化静态树 spanHello world!/span spanHello world!/span spanHello world!/span spanHello world!/span span{{msg}}/span spanHello world!/span spanHello world! /spanVue3 编译后的 Vdom 是这个样子的 export function render(_ctx_cache$props$setup$data$options){return (_openBlock(),_createBlock(_Fragment,null[ _createvNode( span, null,Hello world ! ), _createvNode( span,nullHello world! ), _createvNode( spannullHello world! ), _createvNode( span, nullHello world! ), _createVNode(span, null_toDisplaystring(_ctx.msg)1/* TEXT */) _createvNode( span, nullHello world! ), _createvNode( span, nullHello world! )]64/*STABLE_FRAGMENT */))新增了 patch flag 标记 TEXT 1 // 动态文本节点 CLASS11,1 // 2//动态class STYLE12// 4 //动态style PROPS13,// 8 //动态属性但不包含类名和样式 FULLPR0PS14,// 16 //具有动态key属性当key改变时需要进行完整的diff比较。 HYDRATE_ EVENTS 1 5// 32 //带有监听事件的节点 STABLE FRAGMENT 1 6, // 64 //一个不会改变子节点顺序的fragment KEYED_ FRAGMENT 1 7, // 128 //带有key属性的fragment 或部分子字节有key UNKEYED FRAGMENT 1 8, // 256 //子节点没有key 的fragment NEED PATCH 1 9, // 512 //一个节点只会进行非props比较 DYNAMIC_SLOTS 1 10 // 1024 // 动态slot HOISTED -1 // 静态节点 BALL -2我们发现创建动态 dom 元素的时候Vdom 除了模拟出来了它的基本信息之外还给它加了一个标记 1 /* TEXT */这个标记就叫做 patch flag补丁标记。patch flag 的强大之处在于当你的 diff 算法走到 _createBlock 函数的时候会忽略所有的静态节点只对有标记的动态节点进行对比而且在多层的嵌套下依然有效。尽管 JavaScript 做 Vdom 的对比已经非常的快但是 patch flag 的出现还是让 Vue3 的 Vdom 的性能得到了很大的提升尤其是在针对大组件的时候。 1.3 Fragments vue3 允许我们支持多个根节点 divHello World/div divHello Vue/div div :keyindex v-foritem,index in [10,20,304]{{item}}/div同时支持render JSX 写法 render() {return ({this.visable ? (div{this.obj.name}/div) : (div{this.obj.price}/div)}input v-model{this.val}/input{[1, 2, 3].map((v) {return div{v}-----/div;})}/); },同时新增了Suspense teleport 和 多 v-model 用法 1.4 Tree shaking 简单来讲就是在保持代码运行结果不变的前提下去除无用的代码。 在Vue2中无论我们使用什么功能它们最终都会出现在生产代码中。主要原因是Vue实例在项目中是单例的捆绑程序无法检测到该对象的哪些属性在代码中被使用到。而 Vue3源码引入tree shaking特性将全局 API 进行分块。如果你不使用其某些功能它们将不会包含在你的基础包中。就是比如你要用watch 就是import {watch} from ‘vue’ 其他的computed 没用到就不会给你打包减少体积 1.5 Composition API 组合式 API (Composition API) 是一系列 API 的集合使我们可以使用函数而不是声明选项的方式书写 Vue 组件。它是一个概括性的术语涵盖了以下方面的 API 响应式 API例如 ref() 和 reactive()使我们可以直接创建响应式状态、计算属性和侦听器。 生命周期钩子例如 onMounted() 和 onUnmounted()使我们可以在组件各个生命周期阶段添加逻辑。 依赖注入例如 provide() 和 inject()使我们可以在使用响应式 API 时利用 Vue 的依赖注入系统。 组合式 API 是 Vue 3 及 Vue 2.7 的内置功能。对于更老的 Vue 2 版本可以使用官方维护的插件 vue/composition-api。在 Vue 3 中组合式 API 基本上都会配合 script setupimport { ref, onMounted } from vue// 响应式状态const count ref(0)// 更改状态、触发更新的函数function increment() {count.value}// 生命周期钩子onMounted(() {console.log(计数器初始值为 ${count.value}。)}) /scripttemplatebutton clickincrement点击了{{ count }} 次/button /template使用组合式 API 有以下几点优势 更好的逻辑复用 组合式 API 最基本的优势是它使我们能够通过组合函数来实现更加简洁高效的逻辑复用。在选项式 API 中我们主要的逻辑复用机制是 mixins而组合式 API 解决了 mixins 的所有缺陷。 组合式 API 提供的逻辑复用能力孵化了一些非常棒的社区项目比如 VueUse一个不断成长的工具型组合式函数集合。更灵活的代码组织 同一个逻辑关注点相关的代码被归为了一组我们无需再为了一个逻辑关注点在不同的选项块间来回滚动切换。此外我们现在可以很轻松地将这一组代码移动到一个外部文件中不再需要为了抽象而重新组织代码大大降低了重构成本这在长期维护的大型项目中非常关键。更好的类型推导 组合式 API 主要利用基本的变量和函数它们本身就是类型友好的。用组合式 API 重写的代码可以享受到完整的类型推导不需要书写太多类型标注。大多数时候用 TypeScript 书写的组合式 API 代码和用 JavaScript 写都差不太多更小的生产包体积 搭配 script setup 使用组合式 API 比等价情况下的选项式 API 更高效对代码压缩也更友好。这是由于 script setup 形式书写的组件模板被编译为了一个内联函数和 script setup 中的代码位于同一作用域。不像选项式 API 需要依赖 this 上下文对象访问属性被编译的模板可以直接访问 script setup 中定义的变量无需从实例中代理。这对代码压缩更友好因为本地变量的名字可以被压缩但对象的属性名则不能。 二、 vue-devtools 调试工具 vue 官方提供的vue-devtools调试工具能够方便开发者对vue 项目进行调试与开发。Chrome 浏览器在线安装vue-devtools vue 2.x 调试工具 https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd vue 3.x 调试工具 https://chrome.google.com/webstore/detail/vuejs-devtools/ljjemllljcmogpfapbkkighbhhppjdbg 注意vue2 和vue3 的浏览器调试工具不能交叉使用 点击Chrome 浏览器右上角的 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-clRSTwtM-1672016260783)(Vue3课程笔记导读.assets/image-20221225220407446.png)] 按钮选择更多工具- 扩展程序- Vue.js devtools 详细信息并勾选如下的两个选项 注意修改完配置项须重启浏览器才能生效 在浏览器中访问一个使用了vue 的页面打开浏览器的开发者工具切换到Vue 面板即可使用vue-devtools调试当前的页面。 三、环境配置 开发环境Vite3 Vue3 兼容性Vite 需要 Node.js版本 14.1816。然而有些模板需要依赖更高的 Node 版本才能正常运行当你的包管理器发出警告时请注意升级你的 Node 版本。Vue3 采用组合式 API 官方推荐的 IDE 配置 Visual Studio Code Vite 搭建脚手架 执行如下命令初始化项目 npm init vuelatest这一指令将会安装并执行 create-vue它是 Vue 官方的项目脚手架工具。你将会看到一些诸如 TypeScript 和测试支持之类的可选功能提示 ✔ Project name: … your-project-name ✔ Add TypeScript? … No / Yes ✔ Add JSX Support? … No / Yes ✔ Add Vue Router for Single Page Application development? … No / Yes ✔ Add Pinia for state management? … No / Yes ✔ Add Vitest for Unit testing? … No / Yes ✔ Add Cypress for both Unit and End-to-End testing? … No / Yes ✔ Add ESLint for code quality? … No / Yes ✔ Add Prettier for code formatting? … No / YesScaffolding project in ./your-project-name... Done.如果不确定是否要开启某个功能你可以直接按下回车键选择 No。在项目被创建后通过以下步骤安装依赖并启动开发服务器 cd your-project-name npm install npm run dev注也可以采用 vite 官方命令配置 vue 项目 npm init vitelatest # or npm create vitelatest安装 sass 预处理语言 npm install --save-dev sass四、脚手架目录介绍 public 下面的不会被编译 可以存放静态资源assets 下面可以存放可编译的静态资源components 下面用来存放我们的组件router 存放路由相关文件stores 存放状态管理相关文件App.vue 是全局组件main.js 全局的 js 文件index.html 非常重要的入口文件 Vite 的入口文件是一个 html 文件他刚开始不会编译这些 js 文件 只有当你用到的时候 如script src“xxxxx.js” 会发起一个请求被vite拦截这时候才会解析js文件vite.config.js 这是vite的配置文件具体配置项 后面会详解 五、SFC 语法规范解析 *.vue 件都由三种类型的顶层语法块所组成template、script、style template 每个 *.vue 文件最多可同时包含一个顶层 template 块。其中的内容会被提取出来并传递给 vue/compiler-dom预编译为 JavaScript 的渲染函数并附属到导出的组件上作为其 render 选项。 script 每一个*.vue文件可以有多个 script 块 (不包括script setup)该脚本将作为 ES Module 来执行。其默认导出的内容应该是 Vue 组件选项对象它要么是一个普通的对象要么是 defineComponent 的返回值。 script setup 每个 *.vue 文件最多只能有一个 script setup 块 (不包括常规的 script)该脚本会被预处理并作为组件的 setup() 函数使用也就是说它会在每个组件实例中执行。script setup 的顶层绑定会自动暴露给模板。更多详情请查看 script setup 文档。 style 一个 *.vue 文件可以包含多个 style 标签。style标签可以通过 scoped 或 module attribute (更多详情请查看 SFC 样式特性) 将样式封装在当前组件内。多个不同封装模式的 style 标签可以在同一个组件中混用。 附录推荐采用国内淘宝镜像策略 全局安装淘宝镜像 npm install -g cnpm --registryhttps://registry.npm.taobao.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广告公司网站首页设计页面30岁转行做网站编辑

计算机组装必懂的53个单词及装机步骤51条2007-05-26 11:43计算机组装必懂的53个单词及装机步骤51条计算机组装DIY(Do It Yourself)至少要看懂的五十三个英文单词和缩写也许英语单词对大部分的电脑玩家不算是很困难的,但是对于一些老年用户来说,这些英语单…

ftp怎么连接网站网站押金收回怎么做分录

Loader 原理 loader 概念 帮助 webpack 将不同类型的文件转换为 webpack 可识别的模块。 loader 执行顺序 分类pre: 前置 loadernormal: 普通 loaderinline: 内联 loaderpost: 后置 loader执行顺序4 类 loader 的执行优级为:pre > normal > inline > post 。相…

国家住房城乡建设厅网站郑州市建设信息网站

Linux TCP参数配置 阿里云规范 1.【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。 说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多&am…

vs2017建设网站wordpress 首页函数

大纲 标量函数入参并非表中一行(Row)入参是表中一行(Row)alias PyFlink中关于用户定义方法有: UDF:用户自定义函数。UDTF:用户自定义表值函数。UDAF:用户自定义聚合函数。UDTAF&…

哪些网站可以找到兼职做报表的网站建设背景和目标

1 机器学习的三个方面 1.1 数据 包括数据采集、增强和质量管理,相当于给人工智能模型学习什么样的知识 第一、什么专业的知识; 第二、知识是否有体系,也就是说样本之间是否存在某种关联、差异等,这个涉及到样本选择等问题&#x…

素材网站下载跨境外贸平台有哪些

「DLP-KDD 2021征文」及上届论文全集,包含深度学习推荐/广告系统、多目标、模型服务等在DLP-KDD 2021征稿之际,为大家准备了DLP-KDD2020的全部文章和资源列表,内容涵盖了几乎所有深度学习的业界应用前沿,包括深度学习推荐系统应用…

公司网站维护怎么维护做最最优秀的视频网站

目录 一,tail查看文件尾部指令 二,date显示日期指令 三,cal查看日历指令 四,find搜索指令 五,grep 查找指令 六,> 和>> 重定向输出指令 七, | 管道指令 八,&&逻辑控…

网站套程序微信接单任务群

今日学习韩顺平java0200_韩顺平Java_对象机制练习_哔哩哔哩_bilibili 今日学习p295-p314 super关键字 super代表父类的引用,用于访问父类的属性、方法、构造器 super细节和语法 访问父类的属性,但不能访问父类的private属性 super.属性名 访问父类的…

做响应式网站所用的代码网站建设如何财务处理

Android上实现柱状图算法实现 第一步: 获取Android设备的屏幕大小 第二步: 在View对象中使用Canvas绘制蓝色边框与白色背景XY轴两条线,代码如下 第三步: 绘制柱状图标题 第四步: 根据数据集计算出每个系列数据所占X轴的…

网站建设公司渠道房地产网站建设招商

经过一个寒假的学习 学了许多的关于数据结构知识 栈与队列,优先队列,单调栈,单调队列,双端队列https://blog.csdn.net/2301_81794044/article/details/135871598?spm1001.2014.3001.5501深搜和广搜https://blog.csdn.net/2301_…

海北营销网站建设公司网站开发毕业设计中期检查表

1、安装node https://nodejs.org (官网下载对应的node,一般推荐长期稳定版本 LTS) 需要node的版本是大于 v0.10.0 查看自己本地node 版本号 node -v2、安装whistle npm i -g whistle3、开启whistle 补充说明: ● w2 stop:关闭…

外贸网站建设步骤wordpress 视频自适应插件

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

网站软文发多了会影响WordPress背景图片自适应

一,PDF转Word的必要性 随着信息技术的飞速发展,文档的格式和转换成为了我们日常生活和工作中不可避免的一部分。其中,PDF转Word的需求尤为突出。PDF作为一种跨平台的文档格式,具有阅读效果好、不易被篡改等优点,但在编…

网站添加百度商桥石狮网站建设

学习transformer模型-用jupyter演示如何计算attention,不含multi-head attention,但包括权重矩阵W。 input embedding:文本嵌入 每个字符用长度为5的向量表示: 注意力公式: 1,准备Q K V: 先 生…

哪里有微信网站建设企业展厅设计公司北京vi设计

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

网站建站的标准wordpress 视频无广告

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt326 JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N…

哈尔滨网站制作策划橙域名网站

转载于:https://www.cnblogs.com/SunWentao/archive/2008/06/20/1226975.html

php中英文网站模板华为通用软件开发工程师待遇

练习 1.总结二进制信号量和计数型信号量的区别,以及他们的使用场景。 二进制信号量:信号量的数值只有0和1(用于共享资源的访问) 计数性信号量:计数型信号量的值一般是大于或者等于2(生产者和消费者模型&am…

群晖ds218+做网站qq营销网站源码

文章目录 替换数字 54卡码网直接操作读取的[]byte 替换数字 54卡码网 本题为卡码网的54题,起为acm模式的答题 这里我们不在输入获得的[]byte类型上直接修改,而是保存在新建的[]byte上 golang小知识: 单引号’,表示byte类型或rune…

网站开发模板教程个人网站赏析

牙说:这篇论文是研究蚁群算法在能量有效路由协议的过程中必读的一篇文章,原是全英文,在这里按照自己的理解大致翻译成中文,好好学习,与君共勉。 论文题目:An Energy-Efficient Ant-Based Routing Algorith…