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请求其他链接…
为了运维方便,我们登录了MySQL的Linux上后,希望进入MySQL不需要有密码了(因为登录SSH就需要验证了,就不需要再验证MySQL密码) 之前的文章介绍了MySQl5.7使用空密码或者简单的密码:https://blog.terrynow.com/2021/09/18/mysql-set-root-localhost-password-empty-shutdown-password-policy-requirement/ 发现MySQL8后,已经不管用了,不过有几个其他的解决方案 修改密码复杂度的Polic…
MySQL安装好后,默认数据是存在/var/lib/mysql下的,我们可以在/etc/my.cnf下看到: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 如果我们有其他数据盘,我们希望mysql的datadir修改到数据盘下(例如/storage) 于是就修改 datadir=/var/lib/mys…
今天在给服务器加一个硬盘分区,按照之前的Linux下添加硬盘分区的教程(详见https://blog.terrynow.com/2021/05/10/linux-ubuntu-centos-physical-or-virtual-machine-add-new-hard-disk/) 发现到添加好分区,有一个warning Command (m for help): w The partition table has been altered! calling ioctl() to re-read partitio…
MySQL8的免密码登录解决方案,请看:https://blog.terrynow.com/2021/09/21/linux-mysql-local-root-auto-login/ 如果我们安装的MySQL(版本5.7)只是作为测试用途,在本机登录MySQL的root账号(root@localhost)其实可以不用设置密码(其实就算本地root账号不设置密码,其他ip用root登录可以设置密码,算是不同的账号的),因为只有登录到这台服务器才能执行mysql -uroot来登录MySQL服务器,这样测试登录就比较方…