vue响应性原理-编程思维

  核心实现类 Observer : 它的作用是给对象的属性添加 getter 和 setter,用于依赖收集和派发更新 Dep : 用于收集当前响应式对象的依赖关系,每个响应式对象包括子对象都拥有一个 Dep 实例(里面 subs 是 Watcher 实例数组),当数据有变更时,会通过 dep.notify()通知各个 watcher。 Watcher : 观察者对象 , 实例分为渲染 w

vue模板语法——v-cloak-编程思维

一、什么是指令 指令的本质就是自定义属性 指令的格式:以v-开始,比如:v-cloak 二、v-cloak指令用法 插值表达式存在的问题:“闪动” 如何解决该问题:使用v-cloak指令 解决该问题原理:先隐藏,替换好值后再显示最终的值 三、v-cloak指令的用法 提供样式 [v-cloak]{ display: none; } 在插值表达式所在的标签中

vue模板语法——v-once 数据响应式-编程思维

一、数据响应式 如何理解响应式 html5中的响应式:屏幕尺寸的变化导致样式的变化 数据的响应式:数据的变化导致页面内容的变化 什么是数据绑定 数据绑定:将数据填充到标签中 v-once只编译一次 显示内容之后不再具有响应式功能 二、v-once指令 v-once 应用场景 如果显示的信息后续不需要再修改,可以使用v-once,这样可以提高性能。 v-once用法 在

在vs code中启动edge浏览器调试vue项目-编程思维

最近维护一个Vue 2.x的老项目,网上的资料介绍在VS中调试前端代码都是使用Chrome浏览器,但我没有装Chrome浏览器,想在VS Code中直接调试Vue代码,百度了很多资料,尝试了好几种方案,终于找到简单可行的方法。 根据微软官方的资料,如果想在VS Code中使用Edge浏览器进行调试,可以安装Microsoft Edge Tools for VS Code 插件,安装后可以打开一个

使用vue-office实现在线预览pdf word execel功能-编程思维

功能特色 一站式:提供docx、pdf、excel多种文档的在线预览方案,有它就够了 简单:只需提供文档的src(网络地址)即可完成文档预览 体验好:选择每个文档的最佳预览方案,保证用户体验和性能都达到最佳状态 安装 docx文档预览组件 npm install @vue-office/docx [email protected] excel文档预览组件 npm install @vue-offi

实践总结 3 种前端部署后页面检测版本的方法-编程思维

领导:为什么每次项目部署后,有的用户要清缓存才能看到最新的页面 我:浏览器有默认的缓存策略,如果服务器在响应头中没有禁用缓存,那么浏览器每次请求页面会先看看缓存里面有没有,有的话从缓存取,造成还是取的旧页面。正常来说,用户只需要点击刷新按钮,刷新一下页面就好了,不必清除浏览器缓存刷新。 领导:为什么缓存这么严重,有的用户清除缓存刷新还是不行,关掉浏览器重新进来还是不行,要重启电脑才有效。 我:要

vue——vue2监听元素style变化-编程思维

前言 纯粹是为了偷懒,不想再安装swiper来渲染,直接改造下element-ui的走马灯,实现类似的效果,最主要的是后续会迭代到vue3,所以这里临时的实现下即可; 内容 元素绑定ref 给需要监听的元素添加ref,这里是ref="carouse" <div v-for="(nodes, index) in form.bricks"

构建 dotnet&vue 应用镜像->推送到 nexus 仓库->部署为 k8s 服务实践-编程思维

前言 前面分享了 k8s 的部署安装,本篇来点实操,将会把一个 .net core + vue 的项目(zhontai),打包构建成 docker 镜像,推送到 nexus 镜像仓库,并部署到 k8s 中 准备 要实现项目的部署,除了准备要部署的环境(k8s),还需要准备项目所用到的各中间件,本文旨在分享部署的一个整体流程,对项目中所使用到的各中间件(mysql,redis 等)的安装使用

vue面试题,快看看-编程思维

vue优点 双向数据绑定:在数据操作方面更为简单 组件化:组件的封装和复用,开发更高效 虚拟DOM:不再使用原生dom操作节点,原生dom操作非常耗性能   MVVM的理解 Model是模型层 View 是视图层 ViewModel 介于View和Model之间,起桥梁作用,使视图和数据既能够分离又能通信,View的变化能实时让Model发生变化,而Model的变化也能实时更新到View   v

audio的自动播放报错解决-编程思维

使用audio标签时,当前页面没有进行交互时,比如用户刷新了页面后,play()调用就会报错,如下图 查找资料后,发现是2018年4月以后,chrome浏览器对这块进行了优化,为了节约流量,禁止了自动播放,必须由用户交互后才能触发 当用户点击网页后,点击任何位置都行,andio就能自动播报了,然后我就想了个方案,设置个按钮,让按钮自动点击,然后触发audio,然而发现这种作弊方案,仍旧不行 后

uni-app(四)小程序里的vuex-编程思维

项目一旦开始庞大起来,就会用到vuex了,我们都知道,它是状态存储管理器,相对于本地存储,更加轻量和安全 在小程序里,其实和平时的vue项目里 vuex 使用方法是一样的,所以我们如法炮制 main.js 同级创建 store 文件夹,再在文件夹里,创建 index.js、getters.js、data.js 在 main.js 中引入 vuex import store from '@

uni-app(六)生成海报图片路径问题-编程思维

  插件市场,搜索 painter 插件,这款插件很是强大,初次使用,存在一个问题,那就是由于跨域导致的图片路径问题 如果是存储在服务器的图片,需要使用 downloadFile 获取图片路径,跳过跨域机制 let that = this uni.downloadFile({ url: that.img, success: function(res) { that.

一些vue项目的心得-编程思维

  一些小心得,想整理一下,以前的很多都忘了整理,就像灵感的消失,再也不好找回,所以,要督促自己。后续也会逐渐增加条目,当然也感谢参与   1.name 的使用 问题起因:由于 router 缓存机制,如果vue页面设置了 name,而这个页面有过访问记录,使用 router 的 push 方法后,页面是不刷新的。 常见场景:管理后台的增删改查后,返回原页面,发现数据并未改变。 解决方法:将 n

你所不知道的replace-编程思维

  差不多的replace,差不多的方法,你也差不多的用...(节奏有点邓紫棋的《差不多姑娘》)   众所周知,replace(params1,params2)有俩个参数,第一个为需要替换的原内容,第二个为最终要替换为的内容。 我这里的使用场景,匹配一段文本中所有带有书名号的书名,并将书名单独加标签并区别颜色 params1:其实也可以为一个函数,我们封装一个正则,如下: regBook()