2022
05-30
05-30
手摸手教你实现Vue3 Reactivity
目录前言开始小小思考代码实现模仿实现track实现trigger实现observe实现computed前言Vue3的响应式基于Proxy,对比Vue2中使用的Object.definedProperty的方式,使用Proxy在新增的对象以及数组的拦截上都有很好的支持。Vue3的响应式是一个独立的系统,可以抽离出来使用,那他到底是如何实现的呢?都知道有Getter和Setter,那Getter和Setter中分别都进行了哪些主要操作才能实现响应式呢?哼哼,带着这些问题一起来看看吧,文章会一步...
继续阅读 >
目录使用Vite创建vue+ts项目Vue3的三种语法OptionAPICompositionAPIscriptsetup(CompositionAPI的语法糖)安装Volar结尾好久没有写了,最近看到Vue3.2发布了,害,又要开始卷了么。其实我自己本身还没有使用过Vue3做过实际的项目开发,然鹅又出新东西了……,新时代农民工真的是左手工作,右手游戏,还要用jio去学习呢。什么?你说谈对象?xswl,我特么一个农民工也配谈对象?不卷不行啊,我踏马再看看自己盆友...
目录defineComponent重载函数开发实践defineComponent函数,只是对setup函数进行封装,返回options的对象;exportfunctiondefineComponent(options:unknown){returnisFunction(options)?{setup:options}:options}defineComponent最重要的是:在TypeScript下,给予了组件正确的参数类型推断。defineComponent重载函数1:directsetupfunction//overload1:directsetupfunction//(usesuserdefinedprops...
这个key属性有什么作用呢?我们先来看一下官方的解释:kekey属性主要用在Vue的虚拟DOMdiff算法中,在新旧nodes对比时辨识Vnodes;如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法而使用key时,它会基于key的变化重新排列元素顺序,并且会移除/销毁key不存在的元素。先简单提一下我对VNode的理解:VNode的全称是VirtualNode,也就是虚拟节点;V...
目录VueCLI搭建Vue项目Vue项目改造为markdown编辑器VueCLIPluginElectronBuilder优化功能启动全屏显示修改菜单栏编辑器打开markdonw文件的内容markdonw的内容存入文件打包为了方便记录一些个人随笔,我最近用Laravel和Vue3.0撸了一个博客系统,其中使用到了一个基于markdown-it的markdown编辑器Vue组件v-md-editor。我感觉用它去编写markdown还是很方便的。后面就有了一个想法,基于此组件用Electron来实现一个markdown...
源码抢先看:https://github.com/jdf2e/nutuiNutUI3.0官网:https://nutui.jd.com/3x/小程序多端适配设计初衷在跨端小程序的开发过程中,我们发现没有合适的组件库可以使用,尤其在做电商商城类场景的业务时,没有符合京东App规范的组件库为我们的小程序项目提供支持。为了填补这一空白,同时让NutUI组件库能够为更多的开发者带来便利,我们决定在NutUI3.0中增加小程序多端适配的能力。如何适配Taro在小程序跨端开发中...