获得徽章 7
- #挑战每日一条沸点# day33,今天了解了前端引导页的实现,主要有以下两种:
1、cloneNode + position + transition:将需要高亮的节点克隆到蒙版层,在引导的过程中通过位移来实现引导框和高亮的移动,缺点是无法在引导时执行逻辑
2、z-index + position + transition:将需要高亮的节点通过设置z-index展示在蒙版层上,缺点是对于脱离文档流的节点无法设置z-index
以及一些第三方库:
1、vue-tour:轻量、简单、可自定义、只适用于vue2
2、driver.js:轻量、可自定义,支持所有主流浏览器
3、shepherd.js:全面、复杂、体积大、支持大多数场景
4、intro.js:轻量、没有特色展开评论点赞 - #挑战每日一条沸点# day31,今天了解了pinia状态管理库,相比vuex提供了更简单的API,以及提供了 Composition API 风格的 API,并且在对ts的支持上也更优于vuex,它移除了vuex中的mutation和module,可以直接在actions中定义同步以及异步的函数,通过defineStore定义不同的store,在vuex中如果要持久化存储需要通过localStorage或sessionStorage,而在pinia中推荐采用pinia-plugin-persistedstate插件,默认保存在localStorage中,也可以具体配置进行更改。展开评论点赞
- #挑战每日一条沸点# day28,今天了解了一个微前端框架Qiankun,它有三种沙箱:SanpshotSandbox、LegacySandbox、ProxySandbox。
1、SanpshotSandbox:将window对象的原有属性保存在一个哈希表中,当要恢复时只需要将哈希表中的属性绑定到window上就行,缺点是当微应用卸载时,需要将当前微应用的属性与原window的属性依次比较记录,非常耗性能
2、LegacySandbox:通过Proxy监听window对象上的属性的修改,如果是新增属性则保存到addMap中,如果是更新属性,则将原键值对保存到prevMap中,新键值对保存到newMap中
3、ProxySandbox:实现了多例模式,将window对象深拷贝到一个fakeWindow对象上,为每一个微应用分配一个fakeWindow对象,当要获取、修改的属性是原生属性时,则从window对象上获取,否则从fakeWindow上获取
以及Qiankun框架的隔离原理:将执行函数修改上下文到微应用的上下文执行。展开评论点赞