自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 收藏
  • 关注

原创 mysql常用语句

查询表结构:show columns from tableName;

2019-11-22 19:51:16 206

原创 Linux常用命令

可以使用以下命令修改密码:sudo passwd

2019-11-08 02:36:09 227

原创 npm常用命令

我们通常会用下面的命令下载所需插件:npm install angular-touch但下载的插件默认是最新版本的,如果需要下载指定版本,则在插件名称后需要加上@版本号,如下:npm install [email protected]查看插件版本列表:npm view 插件名 versions...

2018-04-04 18:27:23 7064

原创 git基本命令

简单记录一下在git中常用的几个命令:从源码库checkout源码(如果在提交代码的时候要做门禁检查,那么chekout的时候这个git命令还会带上一个钩子脚本):git clone xxx(xxx是源码地址)查看所有分支列表(包括本地分支和远端分支,在git bash里本地分支和远端分支的颜色不同,且远端分支通常会有remotes/origin前缀):git bran...

2017-01-01 21:32:30 689

原创 webRTC实时通信demo

webRTC视频播放demo

2024-01-01 14:16:28 1526

原创 在elementUI的表格(table)内嵌入svg图标

在elementUI的表格(table)内嵌入svg图标

2023-08-10 22:34:35 815

原创 磁盘空间占满导致confluence6.3不可用问题修复流程

磁盘空间占满导致confluence6.3不可用问题修复流程

2022-08-01 22:41:40 1108 2

原创 javascript读取zip包内指定文件内容

js读取zip包内文件 Document

2022-03-06 14:59:07 3936

原创 nodejs模拟wss服务提示The subprotocol ‘[object Object]‘ is invalid.的问题分析

nodejs模拟wss服务提示The subprotocol ‘[object Object]‘ is invalid.的问题分析

2022-02-16 22:56:55 3350 1

原创 前端项目运行时提示Syntax Error: TypeError: token.type.endsWith is not a function的解决方案

参考文档:https://www.baidu.com/link?url=rxkuHBNVNB0i7GCoDEfgkwDr3AllV9XWRLWwkFQl7p1PjamwyIPupL93spZDTywmxMetZ7yHNtqtgJRPGR0POa&wd=&eqid=d1c30348003392a90000000461721b6e问题背景:当为项目代码拉取分支后执行npm install下载依赖包,然后执行npm run serve发现项目运行失败,提示信息为Syntax Error: T

2021-10-25 21:58:08 7308 3

原创 Confluence6.3服务器掉电恢复流程

由于机房掉电导致团队的Confluence服务器异常关机,服务器重新上电后发现Confluence服务异常,而后续的恢复过程比较曲折,且个别恢复操作非常重要(执行错误可能导致数据丢失),特此记录恢复流程供大家参考。服务器上电首先是给掉电的服务器上电,这个没什么好说的,服务器开机就完事了。打开ssh服务如果是在机房用显示器/键盘直连服务器或服务器ssh服务默认是开启状态,则此步可以跳过,否则需要手动执行以下命令打开ssh服务:service sshd start关闭服务器防火墙如果服务器防火墙

2021-09-16 11:53:05 418

原创 Vuex的使用(十二)——module引入的衍生问题及验证结果

参考文档:https://vuex.vuejs.org/zh/guide/在上一章里我们了解到可以从业务功能角度把Vuex拆分为多个module(每个module都有一套自己的state、getters、mutations和actions),这样每个业务模块都可以拥有一份属于自己的子Vuex对象(即module)。但这样做同样也会带来一些问题:如果module想要引用根Vuex对象的state、getters、mutations或actions该怎么操作?module之间需要互相引用该怎么操作,哪些

2021-09-14 21:43:30 247

原创 Vuex的使用(十一)——module的定义和用法

参考文档:https://vuex.vuejs.org/zh/guide/在前面的文章里介绍actions时提到我们可以把actions的定义部分从Vuex拆出来,避免Vuex的定义文件过度膨胀,这可以视为从功能角度拆分Vuex。但实际项目开发中更常见的情况是需要从业务角度来拆分Vuex,如希望某一功能模块可以共享一份state、getters、mutations和actions,这时就轮到module上场了。首先定义一个module(新增文件路径为src\store\moduleA\index.js)

2021-09-14 21:38:57 506

原创 Vuex的使用(十)——mutations和actions的返回值测试

参考文档:https://vuex.vuejs.org/zh/guide/在官方网站中有关于actions返回结果的例子,但却没有mutations返回结果的例子,首先把结论说明一下:actions允许返回结果,mutations不允许返回结果(即使写了return也不生效)。首先在Vuex中补充返回结果的mutations(mutation3方法,修改文件路径为src\store\index.js),下面上代码:import Vue from “vue”;import Vuex from “vu

2021-09-14 21:35:32 3075

原创 Vuex的使用(九)——actions的其他用法

参考文档:https://vuex.vuejs.org/zh/guide/在上一章的例子中介绍了actions可以在内部发起异步请求,且能够在内部调用mutation,下面介绍一下actions的其他用法:actions和mutations一样允许传一个自定义参数;actions支持互相调用(mutations不支持);actions允许返回结果。在上一章的独立actions文件中扩展定义(修改文件路径为src\store\action.js),代码如下:export default {/

2021-09-09 23:05:34 1573

原创 Vuex的使用(八)——actions和mapActions的用法

参考文档:https://vuex.vuejs.org/zh/guide/actions功能与mutations相近,区别主要有以下两点:actions不能直接改变state,只能通过调用mutation来改变state(mutation不能调用mutation,但是actions可以);mutation只能执行同步操作,actions可以执行异步操作。如果我们把state、getters、mutations和actions一股脑全部定义在一个文件里,会导致Vuex的定义文件非常臃肿,因此在下面

2021-09-09 22:52:25 4573

原创 Vuex的使用(七)——mapMutations的用法

参考文档:https://vuex.vuejs.org/zh/guide/mapMutations的定义可以对标mapState和mapGetters,就不赘述了,下面直接上示例代码。首先在Vuex中补充mutations的其他几种用法(修改文件路径为src\store\index.js),代码如下:import Vue from “vue”;import Vuex from “vuex”;Vue.use(Vuex);const store = new Vuex.Store({state: {

2021-09-08 21:56:35 7295

原创 Vuex的使用(六)——mutations的定义和用法

参考文档:https://vuex.vuejs.org/zh/guide/state是在整个前端应用中需要共享和维护的状态,而在之前的几章里主要介绍了state及其衍生概念的共享和使用,下面重点介绍一下state的维护方式——mutations。官网对mutation的定义:更改Vuex的store中的状态的唯一方法是提交mutation。笔者对mutations的理解是:Vuex需要对state进行管理,则必须把控state的维护入口,因此所有对state的变更请求都必须通过mutations来完成。

2021-09-08 21:45:14 6496

原创 Vuex的使用(五)——mapGetters的定义和用法

参考文档:https://vuex.vuejs.org/zh/guide/当需要在组件中使用多个getters时,可以利用mapGetters批量生成计算属性(新增文件路径为src\components\componentE.vue),代码如下: mapGetters用法 getters in vuex:{{param2}} 引用上面创建的component-e查看效果(修改文件路径为src\main.js),代码如下:imp

2021-09-08 21:36:45 5682

原创 Vuex的使用(四)——mapState的简化写法

参考文档:https://vuex.vuejs.org/zh/guide/按上一章的说明,可以在mapState的参数对象里定义多个属性来批量声明state,如果不需要对state进行额外处理的话,写法还可以进一步简化(新增文件路径为src\components\componentC.vue),代码如下: mapState简化写法 stete in vuex:{{param1}} 如果想定义组件自己的局部计算变量,则需要调整一下

2021-09-08 07:40:05 839

原创 Vuex的使用(三)——mapState的定义和用法

参考文档:https://vuex.vuejs.org/zh/guide/当需要在组件中使用多个state时,可以利用mapState批量生成计算属性

2021-09-06 18:39:34 1617

原创 Vuex的使用(二)——state和getters的定义和用法

参考文档:https://vuex.vuejs.org/zh/guide/首先澄清一下笔者对state和getters的理解:state即在整个前端应用中需要共享和维护的状态,但这个状态并没有持久化(刷新就会丢失,好处是不同在所有的组件中都写一次派生算法);getters是基于state派生出的状态(其作用类似于计算变量)。state的用法比较简单,具体可以参考上一篇文章,下面主要介绍一下getters的集中常见用法。

2021-09-04 08:43:51 990

原创 Vuex的使用(一)——在项目中引入Vuex

参考文档:https://vuex.vuejs.org/zh/guide/如果当前没有项目代码,可以访问传送门搭建一个,以下Vuex相关功能都是在传送门搭建项目的基础上开发的。首先是Vuex的创建(文件路径为src\store\index.js),代码如下:import Vue from "vue";import Vuex from "vuex";Vue.use(Vuex);const store = new Vuex.Store({ state: { param1:

2021-08-31 17:21:02 783

原创 web调用本地应用程序

浏览器本身是一个沙箱,所有的web行为都不允许调用本地应用程序,但通过以下配置则可以规避这个安全限制

2021-08-26 14:31:56 1093

原创 包含搜索功能的翻页列表开发规范

包含搜索功能的列表开发规范

2021-08-23 11:16:18 232

原创 Confluence6.3安装问题汇总

参考文档:https://www.cnblogs.com/xing-12/p/9972906.html问题一:在访问Confluence的图形安装界面http://xxx.xxx.xxx.xxx:8090时,必须选择语言为中文,不修改语言会在数据库配置时报错,报错信息如下:com.atlassian.spring.container.ComponentNotFoundException: Failed to find compon

2020-12-29 19:36:11 1422

原创 用animation实现无缝轮播图

示例只用css实现,下面上效果图:todo 截图待补充下面给出示例代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><style> @...

2019-08-26 10:24:10 4323 2

原创 用requestAnimationFrame实现无缝轮播图

参考文档一:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/108参考文档二:https://blog.csdn.net/vhwfr2u02q/article/details/79492303如果需要用css实现无缝轮播,请点传送门requestAnimationFrame方法的作用为在屏幕刷新每一帧时...

2019-08-26 10:22:01 1454

原创 让div垂直水平居中的几种方法

参考文档:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/92不多说,直接上代码(本地运行的时候去掉任意一段方法的注释即可):<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">...

2019-08-02 11:35:55 270

原创 javascript二维码生成

二维码的效果图如下:二维码的生成依赖于qrcodejs2插件,可以通过以下命令下载(qrcodejs2当前只有一个0.0.2版本):npm install [email protected]的使用也非常简单,在html模版上添加待生成二维码的dom(下例中的id为qrcode的div):<!DOCTYPE html><html lang="en"&gt...

2019-07-23 16:01:51 819

原创 async&await关键词用法

参考文档:https://javascript.info/async-awaitasync和await关键词通常用于和promise协同工作,下面介绍一下他们的功能和用法。asyncasync关键词定义在函数前,用于声明当前函数会返回一个promise对象。基本写法如下: async function test() { //do something }使...

2019-07-19 16:12:56 1638

原创 javascript的继承——组合继承

组合继承是指子类同时对父类进行原型链继承和构造函数继承,也是实际开发中常用的继承方式。如果对原型链继承和构造函数继承还不清楚的同学可以点下面的传送门:原型链继承:传送门构造函数继承:传送门父类构造函数中的属性和方法都可以被子类继承;父类原型上的属性和方法都可以被子类继承;父类实例上的属性和方法无法被继承;父类构造函数中的属性和方法在所有子类实例中是不共享的;父类原型上的属性和方法在...

2019-07-17 16:00:33 260

原创 javascript的继承——构造函数继承

构造函数继承方式:Father.call(this, args);构造函数继承的几个特点:父类构造函数中的属性和方法都可以被子类继承;父类原型上的属性和方法无法被继承;父类实例上的属性和方法无法被继承;父类构造函数中的属性和方法在所有子类实例中是不共享的;创建子类实例时可以向父类构造函数传参;允许多重继承(同时继承多个不同的父类)。var Father = function ...

2019-07-16 11:37:58 876

原创 javascript的继承——原型链继承

原型链继承方式:Son.prototype = new Father();原型链继承的几个特点:父类构造函数中的属性和方法都可以被子类继承;父类原型上的属性和方法可以被继承;父类实例上的属性和方法无法被继承;父类构造函数中的属性和方法在所有子类实例中是共享的;父类原型上的属性和方法在所有子类实例中是共享的;创建子类实例时无法向父类构造函数传参(如果父类构造函数允许传参)。下面...

2019-07-16 11:11:22 305

原创 bind的用法和模拟实现

参考文档一:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function/bind参考文档二:https://blog.csdn.net/YZ0826/article/details/80176169bind方法从功能上来说和call、apply方法相同,用于改变方法的this...

2019-07-15 17:17:56 234

原创 javascript的arguments详解

参考文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/arguments笔者虽然在开发中经常会用到arguments,但主要还是用于获取函数的可变参数列表,并没有深入理解,故在本文补上。arguments定义:arguments是函数(不包括箭头函数)内置的一个类数组对象,数组元素为函数...

2019-07-15 15:04:57 1881

转载 javascript事件循环的task和microtask

原文地址:https://www.cnblogs.com/dong-xu/p/7000139.html首先来看一个示例代码(也是面试时经常会被提及的setTimeout和Promise谁先执行这个问题):console.log('script start');setTimeout(function() { console.log('setTimeout');}, 0);Promi...

2019-07-11 12:06:35 336

原创 Vue学习笔记(二十)——Vue为什么不推荐直接操作dom

Vue不推荐开发者直接操作dom(当然这并不表示不能这么做),有以下几个原因:破坏了代码模块化结构导致代码腐化:组件原本可以控制哪些dom操作可以对外暴露(即对应methods中的方法),但直接操作dom跳过了这个控制,这会导致不可预料的后果。例如组件A中有一个输入框,且组件A没有暴露可以删除输入框的方法,此时组件A会认为输入框是必定存在的,可以放心获取输入框的信息,但在其他组件中通过直...

2019-07-10 11:54:31 7320 1

原创 Vue学习笔记(十九)——组件props信息的修改

组件props信息的修改

2019-07-09 11:02:10 5765

原创 Vue学习笔记(十八)——Vue数据双向绑定原理解析

参考文档:https://www.cnblogs.com/zhenfei-jiang/p/7542900.htmlVue的数据双向绑定的基础是通过Object.defineProperty()劫持作用域中变量的get和set方法实现的,示例如下:示例中数据双向绑定的实现:js对象变更触发dom变更:当执行virtualData.data = “default”;时输入框的信息同步更新为def...

2019-07-08 16:11:25 442

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除