自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (1)
  • 收藏
  • 关注

原创 vue3 父组件获取子组件属性

子组件按照普通组件来写,把要让父组件获取的数据return 出去在父组件中一定要把获取的子组件 return出去,否则是拿不到的<template> <Son ref='sonRef'/></template><script lang="ts">import { defineComponent, ref,} from 'vue';export default defineComponent({ name: 'Login',

2021-05-17 16:07:02 3366

原创 react router传参 通配符方式匹配参数

看各大文章路径参数通配规则是这样写的<Route path='/index(/:aa)' />然而,这根本没用!!!要写成这样<Route path='/index/:aa?' />后边的问号表示这个参数是可选的

2021-04-25 14:13:59 630

原创 chrome扩展抓取请求数据返回的内容

参考文档链接chrome.webRequest.onCompleted可以获得网络请求返回的header,但无法获取返回的内容,经过多方研究发现可以用chrome.devtools.network来获取,这丫的也搞了好久呢,一开始根本不知道怎么入手,还是看了这篇文章才有点头绪Chrome插件(扩展)开发全攻略(干货)这个开发者工具做出来需要在控制台才能看到,话说我也是找了很久,就是可以自定义的面板,跟vue,react那些的开发工具其实是一样的,不过由于只是讲如何抓取数据,这个页面就随便啦,长什么样子都

2021-03-26 17:19:25 16455 15

原创 chrome 扩展 Service worker registration failed 解决

问题:背景页无效有几个注意点,1、版本及格式问题:这里用的是**“manifest_version”: 3**,所以配置文件(manifest.json)跟2的写法有些不一样了,官网上是这样写照着官网写,貌似没毛病哦,可是就是出了毛病,背景页无效2、文件引入问题:我给放在js文件夹里面了,这样是不对的,background文件要放在根目录。所以,解决办法就是把background.js放在根目录引入就行了,看图:完美收官!...

2021-03-26 11:29:06 12305 7

原创 uni-app 快速新建文件 工程配置文件pages,json文件有误

把page.json文件所有的注释信息删掉再创建就可以了

2021-02-01 10:44:00 2355

原创 react 新建的项目报错:Module build failed (from ./node_modules/babel-loader/lib/index.js

差不多是这种//报错Module build failed (from ./node_modules/babel-loader/lib/index.js):解决瞎猫碰上死耗子吧,一看这种依赖包的问题,第一想到的就是npm install ,因为新建的项目忘了这一步就试试,没想到真成了。若不成就考虑是不是版本冲突了。...

2021-01-23 10:14:47 1575

原创 vue 中使用全局scss

css的全局样式可以在html中通过link引入,但scss不行,也不能在main.js中引入,只能在配置文件中设置 <link rel="stylesheet" href="static/style/reset.css" type="text/css">1、首先要安装scss依赖npm install node-sass --save-devnpm install sass-loader --save-devnpm install style-loader --save-devn

2020-10-21 09:52:31 267

原创 正则截取字符串中指定某个字符之前、指定某个字符之后、指定两个字符之间的内容

截取指定两个字符之间的内容,如下let str = 'aaabbbcccddd'str = str.match(/aaa(\S*)ddd/)[1]console.log(str)// 得到bbbccc,如果想截取""之间的内容,也是一样,用 match(/"(\S*)"/)[1]// 比如let str1 = 'name="xiaoming",age="18"'str1 = str1.match(/"(\S*)"/)[1]console.log(str1) // 得到的是 xiaoming

2020-10-21 09:24:40 16644 3

原创 es6 合并 去重

let arr1= [{name:'xxx',age:'19',id:'1'},{name:'yyy',age:'14',id:'2'},{name:'aaa',age:'15',id:'3'}]let arr2= [{name:'xxx',age:'19',id:'1'},{name:'bbb',age:'19',id:'4'}] arr1.push(...arr2) // 合并 此时 arr1里面的数据包含 arr1 和 arr2 中所有的项,不管是不是重复 let res = n

2020-09-14 17:05:36 323

原创 tinymce 富文本编辑器在多个路由页面切换时不渲染内容且不能编辑要刷新才能正常显示解决方案

因为做的后台系统做了切换路由功能,使每个路由都keep-alive,使用tinymce编辑器时总是第一次打开渲染不出内容而且不能编辑,都要刷新下才能正常显示和编辑,百度找了许多方法,试了一遍后找到了对我的项目有效的办法:首先就是给编辑器加上个key,<tinymce-editor :init="init" v-model="form.container" id="tinymce" :key="tinymceFlag"></tinymce-editor> data() {

2020-09-08 09:11:36 5669 4

原创 这又是什么奇怪的bug(4)duplicate attribute: v-if

一定有某个地方有两个v-if报错问题源解决 删掉多余的v-if

2020-09-08 09:06:19 1364

原创 通过js修改input值同时触发其绑定的方法

背景:做chrome 扩展插件需要修改原网页中input输入框的值同时要让其双向绑定的数据也发生改变,由于原网页使用的是框架,也没有源码,只能通过js的dispatchEvent方法直接触发input绑定的方法这里获取dom元素用的是jq方法,后面加上[0]是因为$(‘dom元素’)获取的是dom对象,需要转成jq对象才能调用方法var event = new InputEvent('input',{bubbles: true})$('dom元素')[0].dispatchEvent(event)

2020-09-07 16:21:00 1713

原创 jq 获取元素内文字报错 text is not a function

当有多个相同元素时,获取到指定元素内的文字//获取指定元素 这种方法获取的时dom 元素 不能使用jq对象方法var currentLi = $("ul li")[1]// 获取指定元素的内容 需要先将获取的dom元素转化成jq对象 $(任意dom元素) console.log($(currentLi ).text())...

2020-09-02 16:12:58 2124

原创 chrome扩展开发 content_script 使用iframe的注意事项

1、关于src路径如果是用项目中的文件需要通过chrome.extension.getURL(’’)来引入文件// 动态创建的iframevar iframeURL = chrome.extension.getURL('iframe.html');var myIframe = $('<iframe id="cont-iframe" frameborder="0" scrolling="yes" name="main" src="'+iframeURL+'">不支持iframe</

2020-09-01 16:03:30 1570 3

原创 watch中监听保持活性的路由如何只处理当前的页面参数的变化

做的后台系统,每打开一个页面,上方就增加一个路由标签方便来回切换。而当要编辑表格中的数据时往往会打开相同的页面,通过判断路由传入的id来调接口获取数据,因此就需要监听路由。而为了有些页面切换时不丢失当前操作的数据,如搜索条件,每次切换回来会保持当前浏览到的位置而不会重新刷新,就给路由做了keep-alive,所以这里的监听路由,会监听到地址栏里所有路由的变化。如果别的不相关的页面如果也传了goodsId,当前页面也会执行if里面的代码,也就是会调用接口,当然因为id都不一样的肯定会找不到从而调用失败会弹

2020-08-04 09:42:14 485

原创 element 树形控件 自定义样式

.el-tree 可直接设置树的样式.el-tree-node 没法直接设置需要用 >>> 或者 /deep/ 若直接 >>> .el-tree-node 设置的是所有子节点的样式,如只是设置树的直系子节点 需要 /deep/ >.el-tree-node{}...

2020-07-30 11:14:02 1967

原创 这又是什么奇怪的bug(8) element ui 选择器能监听到选择改变及拿到value 却不显示

form.region 一开始在form中是没有的,是通过调用接口后才出现,所以,需要在一开始就给form定义 region才能在选择器框中显示

2020-07-29 10:29:15 210

原创 vue this.$once(‘hook:beforeDestory’,()=>{})

声明并销毁 this.$once(‘hook:beforeDestory’,()=>{})可以在任何方法中调用这个方法销毁想要销毁的方法,而不用去生命周期中销毁。

2020-07-27 10:02:02 2341

转载 Lodash之throttle(节流)与debounce(防抖)

转载:Lodash之throttle(节流)与debounce(防抖)总结throttle API_.throttle(func, [wait=0], [options={}])func (Function): 要节流的函数。[wait=0] (number): 需要节流的毫秒数。[options={}] (Object): 选项对象。[options.leading=true] (boolean): 指定调用在节流开始前,默认true。[options.trailing=true] (boo

2020-07-27 09:44:35 492

原创 这又是什么奇怪的bug(7)之node更新后运行项目cannot GET/

报错信息Module build failed: Error: Missing binding /Users/fungleo/Sites/MyWork/vuedemo2/node_modules/node-sass/vendor/darwin-x64-57/binding.nodeNode Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.xFound bindings for

2020-07-24 11:31:41 1100

原创 这又是什么奇怪的bug(6)vue 选择框默认值显示key而不显示标签

原因是获取到的key值与下拉选项数组中的key值数据类型不一样,两个值要完全一样才能显示对应的标签

2020-07-23 16:29:38 396

原创 这又是什么奇怪的bug(4)localStorage.getItem 获取到的数据打印出来是[object object]

原因是localStorage.getItem 只能存字符串 需要用JSON将对象转化成字符串存储再通过JSON转化出来

2020-07-22 10:14:30 1428

原创 这又是什么奇怪的bug(5)之JSON与eval转化都失败

又是万恶的vue监听加的后缀 ob: Observer与万恶的深浅拷贝,导致两种转化都失败,解决办法就是不要直接将res赋值给collectData,只要把res深拷贝过来,什么转化都没问题了问题源JSON转化:报错:JSON转化eval转化eval报错:解决办法...

2020-07-17 17:20:16 160

原创 这又是什么奇怪的bug(3)给对象添加属性要注意深拷贝

深拷贝啊深拷贝,不能直接拿data的属性赋给新变量,这样新变量改变时会把原来的对象也给改变,而vue又不允许直接修改data中的属性值(差不多是这样把,可能说的不太准确)报错问题所在修改...

2020-07-16 16:56:14 125

原创 这又是什么奇怪的bug(2)

抽死自己吧,-1是没找到,没找到才是新规格,下图是严重的低级错误,下标-1能找到才有鬼咧,活该undefined

2020-07-16 16:49:22 84

原创 莫名其妙的bug(1)某个属性为null转手回来就变成了Object

最烦vue的这个__ob__: Observer,一不小心就拿不到原本的数据,而这次出现这个问题是因为我自己封装的深拷贝方法返回的数据被__ob__: Observer缠上了,没办法只能用Object.assign来深拷贝,虽然这方法深拷贝也不太靠谱,数据层次深点就变成浅拷贝了。...

2020-07-16 16:24:03 251

原创 当JSON转换数组格式的字符串报错时,用eval转化

将数组格式的字符串转化成真正的数组如:"[‘a’,‘b’,‘c’]" 转化成 [‘a’,‘b’,‘c’] 用JSON是无法转换的,会报错,得用evallet stringArr = "['a','b','c']"export function delString (arr) { let newArr = eval("("+arr+")") return newArr}let arr = delString (stringArr )console.log(arr)// ['a','b',

2020-07-09 14:14:31 357

原创 vue Avoid using non-primitive value as key, use string/number value instead.

在循环渲染tag标签时报错意思就是:key绑定的值不要用数组或者对象,要用字符串或者数字比较好改成一个唯一的标识,实在没有,也可以用下标

2020-06-30 11:33:38 607

原创 vue element select多选报错 arr.some is not a function原因及解决方法

用下拉选择框 使用multiple 属性 多选时出现报错下面是还原当时的操作其实只是一个小小的问题,就是绑定值的类型,应该是数组,我写成了对象,如下,改过来就不报错了

2020-06-30 10:41:09 6556 4

原创 vue 使用第三方集成 tinymce富文本编辑器

参考链接:芜桐-在vue中使用tinymce富文本编辑器以下是博客原文内容,【】内是原创补充说明安装在npm上有一个vue版本的tiny,我们先安装这个包。 npm i @tinymce/tinymce-vue -S其实只用这一个包也是可以的。但是会出现一些小小的问题,由于需要我们提供api-key,官网是国外的网站,不考虑被墙的问题也要考虑英文阅读能力,所以我们最好是下载一个完整的编辑器的包,防止富文本编辑器加载缓慢和每次打开都会有一个烦人的弹窗的问题。使用以下命令下载完整的包。npm i

2020-06-28 15:23:20 2161

原创 隐藏滚动条overflow-y:hidden 不滚动问题解决

一般想要页面滚动又不想出现滚动条,网上大多回答是overflow-y:hidden,然而我发现并没卵用,反而造成页面无法滚动。要想真正实现效果,可以给父元素overflow:hidden 然后子元素设置overflow:scroll就能隐藏y轴的滚动条,但是x轴的还会出现。需要注意的是父元素需要设置高度或最小高度,否则会失效...

2020-06-23 20:37:10 7189

原创 css height: 100%无效问题

height: 100%无效有可能是其父元素本身就没高度或者fymin-height:100%, 子元素设置height:100%无效height:100%的组件继承其父组件的高度,所以首先找其父元素的高度,若父元素也设置了100%,同理再往上找...

2020-06-23 10:12:35 557

原创 react antd 有多个Popover气泡卡片手动控制显隐

有个需求要实现点击批量复制输入复制数量,点确认复制当前行,点取消隐藏气泡框。用对话框的话显得大材小用,毕竟只有一个输入框,而Popover气泡卡片正好可以满足需求而且占用面积小。因为里面添加了自定义的确认、取消按钮,所以需要手动控制气泡框的显隐,那么问题来了。当给定一个值来控制显隐时,是完全不够的,这样会造成所有气泡框会同时出现。官方文档只演示了只有一个气泡卡片的例子,当然可以直接给state一个visible来控制显隐,而要控制多个,则需要定义第二个值来配合这是官方文档里的例子import { Po

2020-06-20 14:11:31 8393 7

原创 jq 原生动态添加元素,上传文件,给input赋值,js获取当前域名

上传文件原理是利用Input的type=“file”html<tr><th>下单图旺铺地址 <button type="button" class="btn btn-success btn-xs | load">添加</button><td><input type="text" class="ljinput form-control | commodity_img_link" required></td><t

2020-06-16 14:38:56 873

原创 element ui select 给定默认值 显示默认值而不显示对应的label

给formData的sum_type一个初始值为0,期待显示的是0对应的label“付款”,但是显示的却是默认值0打印发现formData的sum_type是字符串的0,而我赋值的是数字0,正确做法是将赋值的0改为字符串’0’总结:element ui 的select选择框的value值需要数据类型,值都相等才能显示对应的label...

2020-06-15 17:20:29 1958 1

原创 element ui select选择框选中后获取选中项的所有信息,选中其中一项所有项都被选中的bug

value是选中值发生变化时触发的方法传的值,以前傻傻以为只能绑定单个属性,但是有需求要选中后拿到当前item的所有属性值,所以直接value绑定item

2020-06-15 16:47:21 3268

原创 element ui input或select组件中加入自定义的第二个参数

在element ui 中输入框和选择框中绑定的事件默认只绑定一个没有在方法中传参时,也会默认会有一个参数,在方法中加个参数就能获取到但是有时候需要传额外的参数,比如在列表中放置input,希望能获取到选中的那一行所有的信息,那么就可以把绑定的方法写成如下这样,使用箭头函数val是默认能获取到的值,props.row是额外需要的数据当然啦,在方法中也得设两个接收的参数正常不需要额外数据的情况下是这样写...

2020-05-29 17:25:26 1513

原创 react 组件内的值为 undefined 时,做了判断依旧报错

其中currentCreative.adcreative_elements是存在的,只是值为空的{},明明做了判断为什么还是报错?

2020-05-20 18:02:58 1661

原创 ES6 判断对象是否为空

判断对象是否为空最简单的方式就是用ES6的let obj = {}if(Object.keys(obj).length == 0){ console.log("对象是空的")}else{// Object.keys(obj).length 可获取对象的长度console.log("obj的长度:" + Object.keys(obj).length)}...

2020-05-20 15:44:28 4095

原创 子元素继承父元素颜色样式

比如在用vue路由的时候,想要选中的当前路由文字颜色与未选中的颜色不一样,由于router-link里面用的是a标签,所以设置路由之后文字样式是a标签的默认样式,所以需要取消a标签的默认颜色,让其继承父元素设置的颜色只要使用inherit这个属性a{ color: inherit;}...

2020-04-20 14:27:41 5231

tinymce中文资源包zh_CN.js

tinymce富文本编辑器的中文资源包,只是个中文资源包,没有中文资源包,编辑器默认是英文,啊,是英文啊,英文不方便用户使用啊,所以要中文包啊

2020-06-28

空空如也

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

TA关注的人

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