- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 Vue.js处理组件中有DOM需要在父组件以外的地方渲染的情况
对于悬浮窗一类的组件,组件里的内容往往需要渲染在父组件以外的地方,比如<body>,此时组件内需要做如下操作:在组件中为需要渲染到<body>上的DOM加上ref,比如<div ref="container"></div>,以索引到对应的DOM,可以是组件中最顶层的DOM。调用document.body.appendChild(this.$refs.container),将目标DOM移动到<body>上,可以在mounted()生命周期中调用
2021-07-08 11:49:03
459
原创 React.js处理组件对应的DOM需要在父组件以外的地方渲染的情况
对于悬浮窗一类的组件,组件里的内容往往需要渲染在父组件以外的地方,比如<body>,此时组件内需要做如下操作:在组件对应的Class中准备一个变量container,默认值为null,用于存储渲染容器对应的DOM,该变量将用于从<body>中删除该DOM的操作。组件默认的render()函数返回null,防止该组件在父组件中渲染DOM。在组件的componentDidUpdate()生命周期中处理相关的渲染逻辑。如果渲染用的容器不存在或被删除,则手工使用原生的document
2021-07-07 18:32:13
286
原创 vue.js使用过程中的一些笔记
vue.js使用过程中的一些笔记watch列表中immediate为true时,监听回调将在beforeCreate和created生命周期之间执行。如需在此监听回调中访问子组件或DOM元素,请使用this.$nextTick()。慎用beforeUpdate和updated生命周期钩子函数,尤其不能在此类生命周期函数中对data中的数据进行更改,否则极易导致死循环和浏览器崩溃。如果数据被渲染...
2019-07-27 12:03:08
242
原创 简单文字换行算法
简单文字换行算法很多情况下,平台只支持单行文本的渲染(如HTML5 Canvas),这时就需要手动按照一定的规则对文本进行换行处理。具体规则如下:1、分组该过程稍类似于词法分析过程和LL(1)语法分析过程,每次读取一个字符(每个汉字算一个字符),根据当前字符和上一个字符的类型,决定将该字符插入到上一个字符所在组的末尾,还是新建一个组并将该字符插入到新建的分组中。以下情况当前字符将被添加到...
2019-07-27 11:50:07
1481
2
转载 MySQL如何解决赋予/收回用户权限时发生Access Denied的情况
如果遇到这种情况,并且MySQL上没有其它用户有Grant权限,但MySQL所在的Linux服务器有root权限时,可以进行如下操作:停止MySQL服务。使用命令mysqld_safe --skip-grant-table启动MySQL数据库服务。进行用户权限的赋予、收回操作。将第2步启动的mysqld_safe进程杀掉。重启MySQL服务。...
2018-05-01 16:38:00
602
原创 Bash Shell从给定文件名中获取基本名和扩展名
BASENAME="${FILENAME%.*}";EXTENSION="${FILENAME##*.}";
2018-03-20 23:31:46
2778
原创 MySQL如何解决赋予/收回用户权限时发生Access Denied的情况
停止MySQL服务。使用命令mysqld_safe --skip-grant-table启动MySQL数据库服务。进行用户权限的赋予、收回操作。将第2步启动的mysqld_safe进程杀掉。重启MySQL服务。`...
2018-03-20 23:30:51
922
原创 如何使用Perl的rename工具进行批量重命名
去除.bak扩展名:prename 's/\.bak$//' *将文件名转换成小写:prename 'y/A-Z/a-z/' *为.txt文件加前缀:prename 's/(.*).txt$/prefix_$1.txt/' *.txtArchLinux上需要安装perl-rename包来获得该工具。...
2018-03-20 23:29:01
1554
原创 Bash Shell按行遍历标准输出
IFS=$'\n';for LINE in `ls`; do #Do some works on "${LINE}"done;
2018-03-20 23:28:18
7068
原创 Bash Shell遍历带空格的命令行参数
while [ -n "${1}" ]; do FILENAME="${1}"; #Do some works on "${FILENAME}" shift 1;done;
2018-03-20 23:22:02
2437
原创 如何找出带BOM头的文本文件
使用find命令和file命令:find . -type f -exec file {} \; | grep BOM在bash shell中使用grep命令:grep -rlI $'^\xEF\xBB\xBF' .排除特定扩展名的文件(可用于跳过二进制文件和大文件):grep -rlI $'^\xEF\xBB\xBF' --exclude=*.bin --exclude=*...
2018-03-20 21:53:05
2836
原创 如何在浏览器中捕获JS的语法错误
在<head>标签中添加以下代码:<script type='text/javascript'> window.addEventListener('error',function(e){ alert(e.filename+'\nLine '+e.lineno+'\n'+e.message); });</script>此...
2018-03-20 21:41:59
3023
原创 如何启用Linux的串口终端
临时为/dev/ttyS0启用串口登录(重启后失效):systemctl start getty@ttyS0.service永久为/dev/ttyS0启用串口登录:systemctl enable serial-getty@ttyS0.service查看/dev/ttyS0的串口登录功能是否启用:systemctl status serial-getty@ttyS0.ser...
2018-03-20 21:40:39
7224
原创 如何解决PDO-MySQL的乱码问题
使用如下DSN初始化PDO-MySQL连接:$dsn='mysql:dbname=sausagedb;host=127.0.0.1;charset=utf8'$dbconn = new PDO($dsn, $user, $password);上面的DSN中包含charset=utf8,用于指定MySQL所使用的字符集为UTF-8。如果连接数据库时不设置字符集,即使MySQL表的字符...
2018-03-20 21:39:20
565
转载 Debian/Ubuntu下修复华硕笔记本的Wifi
如果华硕笔记本上的Wifi模块是Ralink的,安装完Debian/Ubuntu后会出现Wifi无法使用的情况。同时在终端运行sudo rfkill list all命令后会有如下输出:0: phy0: Wireless LAN Soft blocked: no Hard blocked: yes1: asus-wlan: Wireless LAN Soft blocked
2017-01-25 22:31:58
558
原创 QPython安装并测试WebSocket服务器ws4py
手机上QPython环境的安装过程很简单(直接安装QPython的APK就行了),在此不再赘述。QPython中安装ws4py模块:从https://pypi.python.org/pypi/ws4py上下载最新的代码包(下载列表中后缀为.tar.gz的文件)。打开下载的压缩包,进入根目录后,找到名为ws4py的目录,然后将该目录解压到手机内存中的com.hipipal.qpyplus/lib/
2016-10-16 21:26:38
5970
原创 Debian 8.0下为ThinkPad R52降低风扇转速
前几天在一部旧的ThinkPad R52上跑Linux作家用云服务器,发现风扇的声音总是很大。在网上搜了一圈,终于找到了解决方法。安装软件包:sudo apt-get install cpufrequtils thinkfan lm-sensors其中lm-sensors用于检测系统温度,thinkfan用来控制风扇转速,cpufrequtils用于控制CPU的频率。创建文件/etc/modpro
2015-11-10 21:31:14
1359
原创 旧手机利用 第一弹 ——ALMP服务器
旧手机利用 第一弹——ALMP服务器随着手机的更新换代,家里积累了不少旧Android手机。这些旧手机都能用,扔掉太可惜又污染环境;送人、当二手卖又怕泄露敏感信息;就只能晾在家里吗?不!这回就把家里闲置的Android手机利用起来。
2015-09-11 23:41:19
8429
DOS下的2048游戏
2019-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人