1、keep-alive正常keep-alive的使用便可以做项目的缓存,但是我们的项目很不正常项目是属于动态缓存,动态缓存有一个弊端举个栗子:a组件为设置了需要缓存的页面;b组件为设置了需要缓存的页面;c组件为设置了不需要缓存的页面。假如:从a组件跳转到b组件,相当于缓存页面跳转到缓存页面,两个页面都会进行缓存假如:从a组件跳转到c组件,相当于缓存页面跳转到无缓存页面,此时会把a组件的缓存给清除掉,即a组件无缓存,c组件也无缓存假如:从a组件跳转到b组件,两个页面都会产生缓存,再从b页面跳转到c页面,此时会清除a组件和b组件的缓存,相当于三个页面都没有缓存内容,再次进入需要重新创建结论:缓存
前端需要接收后端的流式返回数据,并实时渲染。普通的xhr请求都是等http协议数据包一次性返回之后才渲染,类似于ChatGPT的Http接口内容类型为text/event-stream。这种内容类型需要与浏览器建立持久连接并持续监听服务器返回的数据。npm方式安装类库npminstall@microsoft/fetch-event-source使用letcontroller=newAbortController()consteventSource=fetchEventSource(fetchUrl,{method:'POST',headers:{'Content-Type':'applicat
jsencrypt和encryptlong都是rsa加密,加密的对象一定要是字符串。简单数据用前者,如果加密的是对象并且数据还挺多的,比如含有token用后者。生成密钥:RSA会产生两个密钥,其中公钥公开用于加密,私钥不公开用于解密。点击生成公钥密钥NPM安装:jsencryptNPM地址encryptlongNPM地址npminstalljsencrypt--savenpmiencryptlong--savenpminstall--savejs-base64//base64解密为了解决中文乱码代码文件rsa.ts:针对前端加密解密,公钥秘钥都存储前端不安全,一般也可采用两对公钥秘钥前后端分别
前后端分离项目,前端项目在ide中运行,浏览器直接按F5刷新和调试均未出现问题。打包部署到tomcat之后,在浏览器F5刷新页面会出现404问题。解决方案如下:在路由配置文件中,找到如下代码,将mode修改为hash重新打包部署即可。exportdefaultnewRouter({mode:'hash',//去掉url中的#scrollBehavior:()=>({y:0}),routes:constantRoutes})说完解决方案之后,分析下原因:Tomca服务器本身不支持Vue中的HTML5HistoryMode,而之前的配置,正是history,所以会出现问题。VueRouter本身支
前言我详细这个当这个需求来的时候,有很大一部分人跟我的想法是一样的纯前端如何去实现多文件预览。确实这个功能很让人头疼,虽然市面上也有很多成型的插件,但是极少数能满足不同文件的预览,要么就是用第三方的链接去预览。这种虽然是最简单的方式。但是好多公司不会同意,涉及到以后后期是否有变动的问题。以及文件泄露的问题。那么下面我就给大家介绍一下我这边是如何处理这功能的。实现效果图html部分我这边是将docx和excel用弹框的形式去展示el-dialog:title="titles":visible.sync="dialogVisible"width="60%"class="filebox"@close
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1.场景前端构建完上线,用户还停留还在老页面,用户不知道网页重新部署了,跳转页面的时候有时候js连接hash变了导致报错跳不过去,并且用户体验不到新功能。2.解决方案每次打包写入一个json文件,或者对比生成的script的src引入的hash地址或者etag不同,轮询调用,判断是否更新前端使用websocket长连接,具体是每次构建,打包后通知后端,更新后通过websocket通知前端轮询调用可以改成在前置路由守卫中调用,无需控制时间,用户有操作才去调用判断。3.具体实现3.1轮询方式参考小满的实现稍微修改下:classMonito
写在前面:vue提供了很多数据相关的。文章目录data动态绑定介绍使用使用数据computed计算属性介绍基础使用计算属性缓存vs方法完整使用watch监听属性介绍使用methodspropspropsDatadata动态绑定介绍简单的说就是进行双向绑定的区域。vue实例的数据对象,会把data的数据转换成getter和setter,从而可以进行响应式的变化,vue实例创建后,可以通过vm.$data.x获取data里面的x,但同时vue实例也代理了其中的对象,所以我们一般使用简单的vm.x(this.x)就可以访问了使用在vue工程中data并不是一个对象,而是一个函数,其返回值是需要进行响
在SpringBoot中,将long类型传输到前端时,会发现该类型的值可能会出现精度丢失的问题。这是因为在JavaScript中,数字类型默认会被转换为双精度浮点数,而双精度浮点数的精度有限,只能精确表示2的53次方以内(即Number.MAX_SAFE_INTEGER,约为9x10^15)的整数。对于超过该范围的长整数,JavaScript会发生精度丢失,导致值变得不准确。解决方案一:将long转换为字符串1:在后端将long类型的值转换为字符串类型,可以使用String.valueOf()方法或者Long.toString()方法,如下所示:longnum=123456789012345L
Modulenotfound:Error:Can'tresolve'../src/comporents/MyHeader'in'C:\Users\15718\Desktop\eight\src'模块未找到:错误:无法解决../src/comporents/MyHeader'在'C:\Users\15718\Desktop\eight\src'错误原因是组件引入 App.vue/其他组件时出错了,仔细检查引入的文件名大小写及单词拼写是否正确!!!我的就是components拼写错了,查了二十分钟才发现,唉.