Vue项目中,默认的情况,如果某个页面跳转到了下一页,在下页面返回后($router.go(-1)),上一个页面总是会自动刷新(进入created方法),导致上页面的状态就没有了,这样的方式往往不是我们想要的! 可以使用<keep-alive></keep-alive>来解决这个问题,它是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。 在 App.vue里面(组件最开始的地方),有如下代码: <template> <div id="app"&g…
Vue项目中,默认的情况,如果某个页面跳转到了下一页,在下页面返回后($router.go(-1)),上一个页面总是会自动刷新(进入created方法),导致上页面的状态就没有了,这样的方式往往不是我们想要的! 可以使用<keep-alive></keep-alive>来解决这个问题,它是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。 在 App.vue里面(组件最开始的地方),有如下代码: <template> <div id="app"&g…
前面的文章,有介绍如何利用iTextPDF将html转成PDF,详见:https://blog.terrynow.com/2021/08/10/itextpdf-5-x-convert-html-to-pdf-support-css-and-chinese/ 不过发现一个问题,就是比较复杂的Html或者CSS样式的Html,输出生PDF后,并没有预期的效果,例如CSS里的居中,背景色等等。 利用flying-saucer将很好的解决这个css问题,它可以用css2.1来渲染xhtml 引入pom <depen…
如果一个Vue项目比较大,开发人员也多的情况下,如果一个路由文件都放在一起,不利用协同开发,容易引起冲突 Vue的脚手架默认搭好后,路由文件是在src/router/index.js里面,里面包含了所有的路由信息,我们可以对整个项目进行梳理,按照逻辑功能模块进行拆分,比如拆一个消息(message)模块,相关的路由我们都建立在src/router/message.js: const routers = [ { path: '/message/home', name: 'messageHome', title: '消…
如题,分享一个自用的阿拉伯数字金额转成中文大写,支持负数,单位元,小数支持4位数(角、分、毫、厘) 不是我写的,网上抄来的,稍加修改,已用在项目中,亲测可用。 //测试 console.log(moneyNumToChinese(-3.14)); // 负 叁元壹角肆分 console.log(moneyNumToChinese(10002)); // 壹万零贰元整 //***************** 把阿拉伯数字金额转换成中文大写数字的函数(可处理负值,小数可精确到4位厘,) ****************…
在之前的文章里,有介绍如何将Html转成PDF的,详见:https://blog.terrynow.com/2021/08/10/itextpdf-5-x-convert-html-to-pdf-support-css-and-chinese/ 本次又遇到一个新需求,就是Html里面有图片<img src="xxx" /> 期中xxx是http://192.168.1.1/xxx.jpg,这种链接方式的图片,发现图片是无法显示出来的,所以想办法src里面的图片转成base64的格式,例如<img …
在之前的文章中,后端SpringBoot解决跨域问题,使用的如下方法:https://blog.terrynow.com/2021/08/18/springboot-api-allow-cross-origin-how-to/ 不过前端vue也要做相应的配置,例如使用Proxy的方式请看:https://blog.terrynow.com/2021/08/31/vue-axios-cors-problem-sovled/ 不过本次发现一个不使用Proxy的方式: 首先,如果不做任何修改,我们用axios请求其他链接…
如题,使用css纯代码实现了的适用于手机版的菜单点击效果(带过渡动画),本代码使用hover鼠标划过来模拟点击,可以稍加修改实现点击事件。 效果如图: Html/CSS代码实现如下,vue下点击后实现相同的功能的代码详见:https://blog.terrynow.com/2021/09/05/vue-css-animated-menu-toggle-effect-code-implement/ <!doctype html> <html> <head> <style>…
开发中经常会遇到时间段检查冲突问题,比如预约时间段检查等 判断给定的时间段是否和当前表中的时间段不重叠,只要判断给定的开始时间大于记录中的结束时间,或者给定的结束时间小于记录中的开始时间; 也就是判断重叠,给定的开始时间最小值小于记录中的结束时间最大值并且给定的结束时间最大值大于记录中的开始时间最小值,则一定重叠! 假设数据库表t_table 存的开始时间和结束时间是start_date和end_date 两种方式: SELECT * FROM t_table WHERE (start_date > :sta…
从一串含有地址的字符串中,提取出省份或者城市,例如,从『江苏省苏州市吴中区吴中大道1188号』或者『上海市浦东新区世博大道1000号』提取出『苏州市』和『上海市』 以下JS代码以提取城市为例,如果提取省份,稍加修改便可。 /** * 从地址中提取城市 **/ function parserCityFromAddress(address) { var city = ''; if (address.indexOf('市') > 0) { var regex = /.+?(省|市)/g; var strings =…
我们使用NodeJS或者npm安装依赖包的时候,因为默认的npm安装源是国外的https://registry.npmjs.org,由于众所周知的原因,安装时候,会很慢,而且有时候,会直接安装失败。 可以将默认的源替换为国内的源,就可以加快安装速度了,在这方面,阿里云是个活雷锋,之前的文章中,有提到: Java的Maven替换为阿里云的安装源:https://blog.terrynow.com/2021/04/19/idea-change-maven-repository-to-speed-up-import/ G…