vue响应性原理-编程思维
核心实现类 Observer : 它的作用是给对象的属性添加 getter 和 setter,用于依赖收集和派发更新 Dep : 用于收集当前响应式对象的依赖关系,每个响应式对象包括子对象都拥有一个 Dep 实例(里面 subs 是 Watcher 实例数组),当数据有变更时,会通过 dep.notify()通知各个 watcher。 Watcher : 观察者对象 , 实例分为渲染 w
morethink program
核心实现类 Observer : 它的作用是给对象的属性添加 getter 和 setter,用于依赖收集和派发更新 Dep : 用于收集当前响应式对象的依赖关系,每个响应式对象包括子对象都拥有一个 Dep 实例(里面 subs 是 Watcher 实例数组),当数据有变更时,会通过 dep.notify()通知各个 watcher。 Watcher : 观察者对象 , 实例分为渲染 w
一、什么是指令 指令的本质就是自定义属性 指令的格式:以v-开始,比如:v-cloak 二、v-cloak指令用法 插值表达式存在的问题:“闪动” 如何解决该问题:使用v-cloak指令 解决该问题原理:先隐藏,替换好值后再显示最终的值 三、v-cloak指令的用法 提供样式 [v-cloak]{ display: none; } 在插值表达式所在的标签中
一、数据响应式 如何理解响应式 html5中的响应式:屏幕尺寸的变化导致样式的变化 数据的响应式:数据的变化导致页面内容的变化 什么是数据绑定 数据绑定:将数据填充到标签中 v-once只编译一次 显示内容之后不再具有响应式功能 二、v-once指令 v-once 应用场景 如果显示的信息后续不需要再修改,可以使用v-once,这样可以提高性能。 v-once用法 在
前言 vue2前端项目在服务器上打包报错,发现是高版本的node使用的是OpenSSL 3.0,导致的不兼容,所以先临时抛出下环境变量,继续使用老板本的OpenSSL的实现; 步骤 解决方法 export NODE_OPTIONS=--openssl-legacy-provider 具体报错信息 root@iZuf6f5trc95ufa25hqb6eZ:/www/wwwroot/ad-clie
最近维护一个Vue 2.x的老项目,网上的资料介绍在VS中调试前端代码都是使用Chrome浏览器,但我没有装Chrome浏览器,想在VS Code中直接调试Vue代码,百度了很多资料,尝试了好几种方案,终于找到简单可行的方法。 根据微软官方的资料,如果想在VS Code中使用Edge浏览器进行调试,可以安装Microsoft Edge Tools for VS Code 插件,安装后可以打开一个
功能特色 一站式:提供docx、pdf、excel多种文档的在线预览方案,有它就够了 简单:只需提供文档的src(网络地址)即可完成文档预览 体验好:选择每个文档的最佳预览方案,保证用户体验和性能都达到最佳状态 安装 docx文档预览组件 npm install @vue-office/docx [email protected] excel文档预览组件 npm install @vue-offi
领导:为什么每次项目部署后,有的用户要清缓存才能看到最新的页面 我:浏览器有默认的缓存策略,如果服务器在响应头中没有禁用缓存,那么浏览器每次请求页面会先看看缓存里面有没有,有的话从缓存取,造成还是取的旧页面。正常来说,用户只需要点击刷新按钮,刷新一下页面就好了,不必清除浏览器缓存刷新。 领导:为什么缓存这么严重,有的用户清除缓存刷新还是不行,关掉浏览器重新进来还是不行,要重启电脑才有效。 我:要
效果图 代码实现 <template> <div> <div style="position: relative;" class="box"> <img @mousemove="updatePositions" src="https://img.pddpic.com/gaudit-image/2023-07-09
前言 纯粹是为了偷懒,不想再安装swiper来渲染,直接改造下element-ui的走马灯,实现类似的效果,最主要的是后续会迭代到vue3,所以这里临时的实现下即可; 内容 元素绑定ref 给需要监听的元素添加ref,这里是ref="carouse" <div v-for="(nodes, index) in form.bricks"
前言 前面分享了 k8s 的部署安装,本篇来点实操,将会把一个 .net core + vue 的项目(zhontai),打包构建成 docker 镜像,推送到 nexus 镜像仓库,并部署到 k8s 中 准备 要实现项目的部署,除了准备要部署的环境(k8s),还需要准备项目所用到的各中间件,本文旨在分享部署的一个整体流程,对项目中所使用到的各中间件(mysql,redis 等)的安装使用
vue优点 双向数据绑定:在数据操作方面更为简单 组件化:组件的封装和复用,开发更高效 虚拟DOM:不再使用原生dom操作节点,原生dom操作非常耗性能 MVVM的理解 Model是模型层 View 是视图层 ViewModel 介于View和Model之间,起桥梁作用,使视图和数据既能够分离又能通信,View的变化能实时让Model发生变化,而Model的变化也能实时更新到View v
使用audio标签时,当前页面没有进行交互时,比如用户刷新了页面后,play()调用就会报错,如下图 查找资料后,发现是2018年4月以后,chrome浏览器对这块进行了优化,为了节约流量,禁止了自动播放,必须由用户交互后才能触发 当用户点击网页后,点击任何位置都行,andio就能自动播报了,然后我就想了个方案,设置个按钮,让按钮自动点击,然后触发audio,然而发现这种作弊方案,仍旧不行 后
一些小心得,想整理一下,以前的很多都忘了整理,就像灵感的消失,再也不好找回,所以,要督促自己。后续也会逐渐增加条目,当然也感谢参与 1.name 的使用 问题起因:由于 router 缓存机制,如果vue页面设置了 name,而这个页面有过访问记录,使用 router 的 push 方法后,页面是不刷新的。 常见场景:管理后台的增删改查后,返回原页面,发现数据并未改变。 解决方法:将 n