自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue中使用element ui的el-table在el-table-column下使用slot插槽v-if条件渲染没生效或者混乱

vue 引入element ui中的el-table组件时,在el-table-column下使用作用域插槽,通过v-if条件来动态显示某些元素,发现有的条目渲染没生效或者混乱

2022-09-21 15:40:43 6421 1

原创 git 将本地代码添加到远程新增仓库

git 将本地代码添加到远程新增仓库

2022-04-30 12:00:00 10720

原创 tinymce富文本编辑器扩展插件-设置段落间距

项目中使用到tinymce富文本编辑器,由于官方并没有设置段落间距插件,所以自己开发了一个段落间距扩展插件,和tinymce-vue配套使用。可以将其配置为toolbar,也可以配置成菜单项。

2022-03-25 08:30:00 3364 6

原创 nodejs之express项目断点调试配置

做nodejs项目或express项目时,断点调试是很重要的,那么怎么进行express的断点调试呢,在网上找了很久,试了多种方法,都出现各种问题,最后自己根据网上的信息加上自己的摸索终于成功。

2022-02-10 14:12:38 1969

原创 npm WARN npm npm does not support Node.js v17.3.1解决方法

npm WARN npm npm does not support Node.js v17.3.1npm WARN npm You should probably upgrade to a newer version of node as wenpm WARN npm can't make any promises that npm will work with this version.解决方法

2022-01-17 12:00:00 1704 1

原创 vue+elementui form多表单校验

vue+elementui,使用form表单时,有时需要用到多表单一起验证,待都校验通过后再执行后续动作。解决方法:先对每一个表单进行校验,返回一个promise对象,然后使用Promise.all方法对所有返回的promise对象判断,全部是fulfilled的时候执行后续逻辑。代码如下:<template> <div> <el-form ref="form1" :model="form1" :rules="rule

2021-12-01 16:12:04 2574

原创 vue2.x filters中使用data中数据

在vue2.x中使用filters功能,如果想在filter中使用this调用data中的数据,会报错,因为this不是指向vue组件实例。 如果想用data中的数据,一般有两种方式:1.在使用filter时传入data中数据,如:<template> <div> 目前选择的是:{{ type | convertText(list) }} </div></template><script&...

2021-12-01 11:11:11 2293

原创 移动端H5开发图片在安卓显示正常在IOS上显示不出来的问题

h5开发或者h5混合APP开发中,图片在安卓正常小时,但是在IOS中却显示不出来,经过实践,发现在img元素上要包裹一个父元素,比如div、figure标签,在父元素里设置图片的宽高,然后在img元素里通过设置宽高为100%继承父元素的宽高。解决方法:<figure class="parent"> <img src="./demo.png" alt="" class="child" /></figure>.parent { width: 100

2021-07-14 11:29:21 3347

原创 子节点含有表单元素的div元素的blur事件

blur事件一般在表单元素如input元素才是存在的,对div、span等元素时无效的,但是可以给div元素加上tabindex属性,也可以让div等元素有焦点,所以blur事件就有效了。但如果你有这样的需求:div元素包裹有input元素,当你在input框中输入一些文本后,点击这个div元素区域外侧,这时你想让整个div失去焦点触发blur事件,在blur事件中进行一些逻辑处理。但是你直接给div绑定blur事件,或者给div加上tabindex属性然后再绑定blur事件,你发现都不会触发div

2020-05-23 21:28:09 1611 1

原创 js事件委托机制简述

事件委托是指利用事件冒泡的特性,将本应该注册在子元素上的处理事件注册在父元素上,这样点击子元素时发现其本身没有相应事件就到父元素上寻找作出相应。这样做的优势有:1.减少DOM操作,提高性能。2.随时可以添加子元素,添加的子元素会自动有相应的处理事件。...

2020-05-21 23:44:43 526

原创 js DOM事件模型浅析

事件模型按照DOM规范来说是有两种:DOM0级事件模型以及DOM2级事件模型。但由于IE浏览器的特殊性,IE8及以下浏览器不支持DOM2及事件模型,所以需要单独列出一项IE事件模型。尽管现在IE8及以下版本浏览器可以不作为兼容性考虑对象,但还是有必要说一下。1.DOM0级事件模型DOM0级事件模型是最早的事件模型,也叫做原始事件模型,所有浏览器都支持。这种事件模型比较简单,特点是:(1)没有事件流的概念,只会触发绑定目标元素的事件,不会冒泡或者捕获到其他DOM节点。(2)每个元素只能绑定一个

2020-05-20 00:38:42 267

原创 webpack设置本地开发proxy跨域

当我们在本地开发时,有可能会遇到访问接口存在跨域的情况,如果你的工程是使用webpack工程化编译打包的话,那么可以利用webpack 的本地服务器devServer的proxy代理功能实现跨域。

2020-05-16 21:03:48 1561

原创 npm publish 发包报错400 Bad Request - Cannot publish over previously published version "1.0.0"

描述:npm publish 发布包时报code E400错误: npm ERR! 400 Bad Request - PUT https://registry.npmjs.org/form-tooltip - Cannot publish over previously published version "1.0.0"。原因:再次发布相同名称的包时,不能和上次发布包的版本一样解决方法:在package.json文件中,把包的版本号提高。...

2020-05-14 00:21:55 7938 1

原创 表单元素提示框组件form-tooltip(二)

上一节input动态搜索下拉框组件input-dynamic-select使用(一)整体介绍了form-tooltip的使用方法,这一节具体使用一个demo来说明组件的使用方法。demo整体结构如下:

2020-05-14 00:07:50 588

原创 表单元素提示框组件form-tooltip(一)

在使用form表单元素时,比如input元素可能会有这样的需求,当在input输入框输入无效的文本时,你可能需要在input上方或者下方出现一个悬浮提示框来提示用户,或者当input输入框为空且失去焦点时,你需要有一个提示框来提醒用户。面对这样的需求你可能一时找不到合适的组件来达到目的,只能自己去实现,比较麻烦。本文介绍一个组件: form-tooltip,就是解决这个问题,用户可以根据自己的需求自己设置不同样式的悬浮提示框。

2020-05-13 23:34:35 1563

原创 重新npm publish发布包报错:403 Forbidden - form-tooltip cannot be republished until 24 hours have passed

function FormTooltip(id, options, cssTextObj){ if(typeof id !== 'string' || typeof options !== 'object'){ console.error('输入参数格式不正确,请检查输入参数格式') } this.id = id this.options = options this.cssTextObj = cssTextObj this.isShow ..

2020-05-13 20:32:41 3539

原创 input动态搜索下拉框组件input-dynamic-select使用(二)

上一篇input动态搜索下拉框组件input-dynamic-select使用(一)大致介绍了input-dynamic-select组件的使用方法,现在通过一个demo具体介绍这个组件的使用方法。我使用node的express的框架简单搭建了一个后台服务接口,前端通过调用这个接口获取数据。1.整体结构首先,这个demo的整体结构如下:构建打包工具使用的是webpack,打包入口文...

2020-05-06 00:37:12 1539

原创 input动态搜索下拉框组件input-dynamic-select使用(一)

在做项目的时候,经常会用到动态搜索下拉框的需求,网上也没有找到很好的组件来达到这个目的,于是自己开发了一个这样的组件。该组件将更多的配置权给用户,用户可以根据自己的需求进行配置这个动态下拉框。下面先简单介绍这个组件的整体使用方法:git代码库:https://github.com/yog-zhang/input-dynamic-select.git如发现问题欢迎交流指正!1.下载安装(...

2020-05-04 00:27:35 2930

原创 js 创建函数的方式

js定义函数的方式有以下几种,下面简要介绍这几种方式以及它们各自的特点:1.函数声明方式function fun(x = 1){ return x;}这是最常见定义函数的方式,其特点式是:存在函数声明提升,会提升到当前作用域顶层2.函数表达式let fun = function(x = 1){ return x;}// var fun = funct...

2020-04-12 21:33:08 547

原创 git stash常用指令

我们使用git时,我们在自己分支上对某些文件做了修改,突然需要从其他分支如master分支拉取最新代码到自己分支上,或者需要切换到其他分支上,由于已有一些文件被修改,这些操作都做不了,会报错。这是就要用到stash了,stash就是暂存区的意思,可以把我们做的修改先放到暂存区,然后就可以做其他操作,比如上面提到的那两种。下面是git stash 相关指令git stash 或者git stas...

2020-03-30 00:52:34 548

原创 git更新远程仓库地址的方法实现

如果你的远程git仓库迁移了,那么你有两条路可以走:1.重新用新的仓库地址clone到本地;2.更新远程仓库地址第一种方式比较简单,下面介绍第二种方式更新远程仓库地址的命令行方法主要有两种:1.使用命令行 git remote set-url [远程仓库名] [新的仓库地址]例如:git remote set-url originhttps://github.com/vu...

2020-02-04 18:21:45 2740

原创 proxy对象实现数据双向绑定

proxy对象顾名思义是对象的代理,对目标对象进行封装成代理对象,以达到读取、修改、查询目标对象属性等操作时起到拦截作用,对目标对象的默认操作进行重新定义。下面看一个例子:let obj = {name: 'zhangsan', age: 20}let objHandler = { get: function(target,propKey){ return '您访问...

2020-01-29 21:44:17 723

原创 webpack使用-报错:"Module not found: Error: Can't resolve 'webpack/hot'"

当配置webpack-dev-server本地服务器时,运行报错:原因:没有本地局部安装webpack,hot模块只在本地的webpack的目录下查找,找不到就报错,全局安装webpack也不行解决方法:局部安装webpack:npm install webpack然后,运行就OK了...

2019-08-11 21:17:48 3807

原创 js动态设置单选输入框(radio)选中状态

有时需要在js中动态控制单选输入框的选中状态,这一般有两种方法:1.通过设置input单选输入框的元素属性“checked”为“checked”,但需要注意的是,要把上一次设置的“checked”属性去掉,不然再次点击同一个元素的时候,选中状态就会错误。2.通过设置input单选输入框的DOM节点属性“checked”为true或false来实现。下面通过一个例子来说明两种方法,这个例...

2019-07-26 23:46:29 15616

原创 git将某分支的某次提交合并到另一分支

代码开发的时候,有时需要把某分支(比如develop分支)的某一次提交合并到另一分支(比如master分支),这就需要用到git cherry-pick命令。首先,切换到develop分支,敲 git log 命令,查找需要合并的commit记录,比如commitID:7fcb3defff;然后,切换到master分支,使用 git cherry-pick7fcb3defff 命令,就...

2019-06-25 14:59:51 29505 1

转载 字符编码的概念【转载】

字符集为每个字符分配了一个唯一的编号,通过这个编号就能找到对应的字符。在编程过程中我们经常会使用字符,而使用字符的前提就是把字符放入内存中,毫无疑问,放入内存中的仅仅是字符的编号,而不是真正的字符实体。这就抛出了一个问题,如何才能将字符编号放入内存中呢?对于 ASCII 字符集,这很容易。ASCII 总共包含 128 个字符,用 7 个比特位(Bit)恰好能够存储,不过考虑到计算机一般把字...

2019-04-21 12:59:42 238

原创 用常量替代 Mutation 事件类型之在vue组件中提交数据(报错[vuex] unknown mutation type)

vuex中为了代码看起来简洁清晰,常常使用常量替代Mutation事件类型,但是在vue组件中怎么使用常量执行提交操作,也让我纠结了半天,这里记录下。那么在vue组件中怎么执行提交操作呢,我的直观想法是这样的:这样的话会报错:[vuex] unknown mutation type: mutationTypes.SOME_MUTATION1正确的做法是:mutati...

2019-04-11 14:55:17 3205 2

原创 git恢复某个文件到上一个提交版本

git提交了比较多的文件到远程,但是在合并时发现其中有一个文件合并有冲突或者某个原因不想修改该文件了,那就需要单独把这个文件回退到上一个提交版本状态。方法如下:1.首先查看一下该文件的commit记录:git log 文件,例如 git log src/index.java2.找到需要提交到上一个版本的commit号,然后checkout该文件的上一版本,输入下面的指令:git che...

2019-03-04 11:45:47 20040 1

原创 vue中v-for循环选中点击的元素并对该元素添加样式

相信大家都会遇到这种情况:v-for循环时,我只需要点击到的元素做出相应反应,其他的元素不变;但是往往所有v-for循环出的元素都会变化。如下面的代码:我需要点击到的元素添加一个类样式,其他元素不变,但是这样会导致所有的元素都会变化html:&lt;div v-for = "(item,index) in items"  :class = 'addclass:isactive'  @cli...

2019-01-13 12:46:09 18638 8

原创 vuejs2.0以上版本组件命名的问题

最近写组件的时候,发现调用组件时没有生效,代码如下:&lt;div id="component1"&gt;    &lt;firstComponent&gt;&lt;/firstComponent&gt;&lt;/div&gt;&lt;script&gt;    Vue.component('firstComponent',{        template: '&lt;h2&amp

2018-10-29 16:33:44 1152

原创 vuejs双向数据绑定

vuejs 双向绑定给我们开发带来了很大的方便,主要用在表单中,通过v-model指令实现。那么什么是双向数据绑定?下面这张图可以很好的说明:绑定的双方:view层的DOM和Model层的javascript对象。第一层绑定:将javascript对象数据通过vuejs实现的规则绑定到DOM中。上代码:这是从JavaScript对象向DOM绑定,即通过vm实例的data...

2018-10-27 15:30:02 1398

原创 css隐藏垂直滚动条并且不影响滚轮滚动功能以及页面显示功能

    如果要实现隐藏整个页面的滚动条(水平滚动条或者垂直滚动条)功能,可能首先想到的是给html或者body元素设置css属性:                                           overflow:hidden;或者overflow-y:hidden;或者overflow-x:hidden;    但是,你会发现你的页面显示有问题,尤其当你使用了页面滚动...

2018-08-30 00:14:27 4889

原创 js setTimeout和for循环搭配使用时变量的问题

最近在写一个定时打字的效果,需要for循环和setTimeout搭配使用,出现了一些问题,在网上查找找到了问题所在。1.setTimeout(func,time)函数运行机制    setTimeout(func,time)是在time(毫秒单位)时间后执行func函数。浏览器引擎按顺序执行程序,遇到setTimeout会将func函数放到执行队列中,等到主程序执行完毕之后,才开始从执行队列(队列...

2018-06-09 13:44:53 11937

空空如也

空空如也

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

TA关注的人

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