- 博客(68)
- 收藏
- 关注
原创 vue extend的作用和使用方法
Vue.extend 的原理是通过 Vue.extend 方法创建一个新的构造器,该构造器继承自 Vue,然后可以像普通组件一样使用。通过new 一个Vue.extend构造的组件实例,然后通过$mount()挂载到指定dom节点,这对于很多老项目中使用原生js去构建dom提供了便捷的方法,Vue.extend方法通过提供组件的复用、扩展、动态实现以及原型方法扩展等功能,能够更好地组织和管理代码,实现组件的灵活使用和功能定制。
2024-07-09 10:37:13 352
原创 关于for in 循环会遍历原型链上的属性的问题
2.只遍历对象自身的属性,而不遍历继承于原型链上的属性,使用hasOwnProperty 方法过滤一下。for in可遍历原型链上扩展的属性,Object.keys() 只遍历自身属性。关于for in 循环会遍历原型链上的属性的问题。
2023-09-13 14:57:15 582
原创 关系图谱库 --- relation-graph
relation-graph官网地址在官网中能看到一些基本的配置和方法,但是并不全面,有些东西可以去github上面的问题解答查看
2023-09-13 14:53:39 1803 4
转载 CSS3中如何解决子元素继承父元素的opacity属性
css3中的opacity属性是用来设置 div 元素的不透明级别的,但是我们往往会遇到因为父级元素设定opacity后,子元素也跟着透明了,但是有时候我们只是想让背景是透明的,这该如何解决呢?
2023-08-16 10:39:13 431
原创 electron 运行以及打包超时解决方法
我是通过vue add 的方式去添加electron相关依赖的,然后会在package.json中,自动生成运行和打包electron的命令。打包过程中遇到的问题,无非就是依赖安装、入口文件、打包之后的程序没办法执行。首先是运行过程中,对于electron依赖的拉取,会很慢,或者超时。,运行electron,直接执行。
2023-07-05 16:20:30 2440
原创 electron 单个实例控制以及日志输出
判断当前程序的实例是否为当前取得锁, 或者说, 当前实例是否为单一的固定实例, 如果当前实例没有取到锁, 返回 false,说明当前实例应该被关闭。这是在网上能查出来的答案,这么写也能满足基本的功能,但是有缺陷,必须我将程序设置到了后台隐藏起来,通过。在使用electron打包的应用程序的时候,点击应用图标会打开多个实例,要想控制单个实例,需要通过。能够将程序唤醒后的页面没办法输入和点击,会出现一个卡死的状态?关闭程序的时候,会造成页面闪一下(就是程序可能 已经运行起来,突然一下关闭的)
2023-07-05 16:18:11 1273
原创 使用react-dnd + react-dnd-html5-backend 实现节点拖动排序
使用reac-dnd,react-dnd-html5-backend实现节点拖动排序
2022-11-08 15:34:58 1991 1
原创 antd Form组件的onValuesChange没有触发问题
antd Form组件的onValuesChange回调,在通过form.setFieldValue / form.setFieldsValue api修改时,不会触发。
2022-10-10 14:19:15 4091
原创 解决‘WebDriver‘ object has no attribute ‘find_element_by_xpath‘问题
python数据爬取问题解决
2022-07-26 14:57:38 15840 5
原创 本地文件上传按钮组件
封装一款好看的文件上传按钮import React from 'react';import './index.scss';class SelectFileButton extends React.Component { constructor(props) { super(props); } onChange = (event) => { let e = event || window.event; let files = e.target.files;
2022-05-18 10:46:52 233
原创 前端面试题记录
什么是链表,谈谈对链表的理解链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是根据链表的指针地址去实现的,由一系列节点(指针地址)组成,可动态生成节点包括两个部分:存储数据源的数据域,存储指向下一个节点的指针地址的指针域相对线性表顺序结构,操作更为复杂链表分为单链表、双链表、单向循环链表、双向循环链表链表的作用是:实现元素的存储按一定顺序存储,允许在任意位置插入和删除;包括单向节点、双向节点、循环节点链表和数组的区别:数组是使用一块连续的内存空间去存储数据,实现数据的增删不..
2022-05-17 11:31:55 2167
原创 微信小程序面试题总结
文章目录一、微信小程序的主要文件二、小程序怎么跟随事件传值三、小程序的wxss和css有什么区别四、小程序的双向绑定和vue有什么区别五、小程序的声明周期六、小程序怎么实现下拉刷新七、```bindtap```和```catchtap```的区别八、小程序有哪些传递数据的方法九、简述```navigateTo、redirectTo、switchTab、navigateBack、reLaunch```的区别十、小程序```wx:if```和```hidden```的区别十一、```app.json```全局文
2022-01-21 16:43:58 889
原创 元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型
元素隐式具有 “any” 类型,因为类型为 “string” 的表达式不能用于索引类型在使用typescript时,在对变量进行了类型声明后,在使用for in 的时候出现了这样的问题经过查资料,key值的类型不是string,在javascript中是默认给你转好的,而在Typescript中则不是,因此要么转,要么声明,要么忽略忽略修改tsconfig.json文件中的配置转类型export function isValidKey(key: string | number | sym
2021-12-10 16:23:48 2251
原创 前端面试题及答案
JS数据类型面试官:JavaScript中什么是基本数据类型什么是引用数据类型?以及各个数据类型是如何存储的?⭐⭐⭐⭐⭐答:基本数据类型有NumberStringBooleanNullUndefinedSymbol(ES6新增数据类型)bigInt引用数据类型统称为Object类型,细分的话有ObjectArrayDateFunctionRegExp基本数据类型的数据直接存储在栈中;而引用数据类型的数据存储在堆中,在栈中保存数据的引用地址,这个引用地址指向的是对应的数据,
2021-12-03 10:06:12 683
原创 antv x6踩坑记录二
graph配置panning,会出现一种情况,就是我鼠标点击了画布的某个点,然后滚动滑轮去点击不在当前视图的某个节点的时候,它会自动聚焦到你之前点击的画布的点上使用fromJSON去序列化节点渲染,在有群组节点的情况下,会出现群组内的节点连线被覆盖的问题,我的处理情况是通过先将节点中的群组节点和子节点区分开来,通过addNodes先将所有的群组节点渲染,然后在渲染子节点和普通节点,最后遍历群组节点,通过addChild的方法把对应的子节点添加到对应的群组节点中,最后才通过addEdges方法渲染连线关.
2021-11-19 10:43:36 6519 8
原创 根据字体大小计算字符串长度
根据字体大小计算字符串在页面上的长度// 获取字符串px长度export const getTextWidth = (str, fontSize) => { let result = 10; let ele = document.createElement('span') //字符串中带有换行符时,会被自动转换成<br/>标签,若需要考虑这种情况,可以替换成空格,以获取正确的宽度 //str = str.replace(/\\n/g,' ').replace(/\\r/
2021-10-26 10:58:03 908
原创 antv x6踩坑记录一
x6的配置啥的,这里就不赘诉了,可以去官网看antv x6官网地址,写得很详细,这里主要讲一下使用x6的过程中遇到的坑的问题,有的找到了解决办法,有的暂时没找到解决办法,如果哪位大佬有解决办法,愿意分享的话,十分感激!MiniMap和Selection不能共用:这个问题我暂时没有找到解决办法。在使用小地图的时候,再在画布中框选了子节点并添加了群组节点,在群组没有收缩的时候是能够正常展示,但是群组收缩后再次打开就会导致整个页面崩溃。这里的建议是,值进行群组节点的增加,但是不建议给群组节点增加收缩功能增加
2021-10-26 10:54:37 4859 3
原创 chrome浏览器解决跨域请求SameSite方案,Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
2021-06-07 10:46:09 4474
原创 angular如何如何监听对象的值和一次性监听多个值
监听多个值: $scope.$watch('{a: value1, b:value2}', funtion(newValue, oldValue) { console.log(newValue.a, newValue.b) })监听对象属性 $scope.$watch('obj.name', function(newValue, oldValue) { console.log(newValue) })
2021-03-31 14:46:29 615
原创 angular 1使用日期范围插angular-daterangepicker/ bootstrap-daterangepicker
现在公司有一个很老的项目,采用的还是angular1的版本实现的,想要实现某个插件需求,就需要去网上各种搜索,这不就是有一个需求要实现日期范围插件,最终选择了angular-daterangepicker一套的插件(其实主要是bootstrap-daterangepicker插件),下面是该插件的一些用法理解:(我是一个angular小白,只是学框架的时候看过一点angular,有错误的地方请大家指正)使用bower安装插件,这里会安装angular-daterangepicker,bootstrap-
2021-03-31 14:35:31 486
原创 实现浏览器下载文件
实现浏览器下载文件的方法有以下几种,采用fileSaver插件,接收的是文件的Blob,用法是fileSaver.save('文件流', ‘导出文件名’);可适用于get,post方式的下载;采用a标签,配置属性download,href就是你要下载的文件地址,download就是下载的文件名,这种方法只适用于get请求方式;采用iframe也可实现a标签的效果,这种方法只适用于get请求方式;iframe内嵌套form表单,实现模拟提交,可实现post方法的文件下载;...
2021-03-29 11:06:42 414
原创 wangEditor 支持配置默认字体大小,支持自定义配置字号
看了wangEditor3以上的开发文档发现,默认字号大小菜单只有1-7的值,且不能增加,只能减少这个满足不了当下的需求,就只能自己重新写一个菜单来实现字号大小,具体的请参考这边文章:wangEditor增加行高和具体字号功能...
2021-03-10 14:34:34 9360 5
原创 替换字符串中html标签内的空格,tab为 (不替换标签内属性空格)
替换字符串中html标签内的空格,tab为  // 空格替换 private replaceSpace(val: string) { const spaceRex1 = /(<.*?>)(.*?)(<.*?>)/g; const spaceRex2 = /\s/g; // 替换tab空格 let newVal = val.replace(/\t/g, ' '); newVal = ne
2021-01-29 18:33:04 1136
原创 vue中ts无法识别引入的vue文件,提示找不到xxx.vue 模块解决办法
在vue + ts项目中,在.ts中引入.vue文件,会提示打不到module,但是编译可能成功,运行也不报错在src根目录下,新建一个sfc.d.ts文件这个里面的declare module “*.vue” {import Vue from ‘vue’export default Vue}在shims-vue.d.ts文件中官方文档有一个地方是说写到这里来着,所以shims-vue.d.ts中的这段要删掉,把他们写到sfc.d.ts中,问题就可以解决了...
2021-01-19 15:23:56 12182 1
原创 在iframe内部通过window.open打开页面使用postMessage通信造成跨域问题解决办法
最近项目为了接入公司其他项目,使用了iframe,一般用到iframe,要通信我第一时间想到的就是postMessage,这次也不例外,在iframe内部打开新页面并发送消息const opener = window.open('xxx.com')在xxx.com页面监听iframe内部发送消息,并回传消息给iframe//1.监听postMessagewindow.addEventListener('message', function (e) { // 处理消息 }}, f
2021-01-13 14:55:33 2107 1
原创 quill.js富文本编辑器中自定义标签的创建和使用
Quill是一个很流行的富文本编辑器,github上star大约21k:github地址 官网地址安装quill(这里是在vue项目中使用的)npm install -S quill-image-paste-module quill-image-resize-module vue-quill-editor如何在项目中使用请看官网,这里主要记录一下如何使用自定义标签,很多时候,我们需要在标签中增加自定义属性,或者新增quill原生不带有的标签,比如video,audio新增blot文件//
2021-01-13 10:54:50 3146 6
原创 react-responsive-carousel,一款好用的react的banner插件
React Responsive Carousel是一个基于React.js响应式轮播,功能强大,轻巧且可完全自定义,用于基于React的APP安装React Responsive Carouselnpm install --save react-responsive-carousel使用react-responsive-carouselimport React from 'react';import "react-responsive-carousel/lib/styles/carousel.
2020-11-25 10:48:16 2321
原创 使用react-cropper结合图片压缩方法对图片进行裁剪压缩处理
最近项目要使用图片裁剪上传,因为项目采用的是react+antd,所以第一时间想到的是ImgCrop插件,但是这不满足项目需求,项目要求的是能够缩放裁剪框,最后确定了采用react-cropper来实现图片的自定义裁剪安装react-croppernpm install --save react-cropper新建一个CropperModal.jsximport React, { useState, useEffect, useCallback, useRef } from 'react'impo
2020-11-13 17:03:45 1132
原创 使用postMessage的踩坑记录,解决postMessage的监听事件多次触发
解决 iframe.postMessage()多次触发请求问题方法一,将addEventListener改成onmessagewindow.addEventListener(‘message’, (e) => {})多次调用会多次生成不同的匿名函数e,应指向同一个命名函数window.addEventListener(‘message’, this.handler.bind(this)),命名函数绑定this后,调用会生成不同的对象而onmessage则不会window.onmessage=
2020-10-30 16:42:42 9470 3
原创 解决iframe跨iframe传值跨域问题
最近在项目中遇到过一种情况,在iframe里面再次嵌套了iframe,第一个iframe里面的是别的项目,第二个iframe里面的是自己的项目,然后点击第二个iframe里面的按钮弹出一个最外层的modal,关闭modal刷新第二个iframe里面的数据遇到的问题是:通过postMessage,在第二个iframe里面通过postMessage来通知最外层打开modal,但是最外层无法通过链式访问到第二个iframe;解决思路:由于第一个iframe是别得项目,其实可以让他们做一个中间层的postMes
2020-10-21 18:26:56 736
原创 解决使用iframe产生跨域问题
在项目中有时候需要嵌套不同项目的代码,可能是使用不同框架构建的或域名不同,这里就需要使用iframe进行嵌套,但是使用iframe违反了浏览器的安全策略,会造成通信跨域的问题Blocked a frame with origin "https:/*******com" from accessing a cross-origin frame.解决方法是采用html5的postMessage来解决上述问题用法“otherWindow.postMessage(message, targetOrigin,
2020-10-21 10:51:45 8004
原创 解决react 多行文本显示省略号不生效问题
在普通的前端css中,如果要是文本超出一行就显示省略号,一般在css中写:.box { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; word-break: break-all;}要想多行文本显示省略号(这里不考虑兼容情况),一般这样写:.box { overflow : hidden; text-overflow: ellipsis; display: -webkit-box; -w
2020-07-02 18:41:52 1340
原创 react native修改app名称
想要修改rn的名称,需要更改以下地方:编辑 android/app/src/main/res/values/strings.xml 文件<resources> <string name="app_name">测试App</string></resources>然后在android目录下执行./gradlew clean,这个是为了清除以前运行android设备上的一些缓存。再重新yarn android(最新的react-native-cl
2020-06-15 15:00:08 475
原创 在vscode终端输入某些命令时提示 xxx无法识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次的解决办法
很多时候,我们在打开vscode的终端输入某些指令时,会报错这样的一个错误:这是因为你笔记本禁止运行脚本,解决办法是放开powerShell对这类脚本的限制:使用管理员身份打开powerShell,然后输入:set-ExecutionPolicy RemoteSigned输入A或者Y就可以了,再输入命令就不会报错了...
2020-06-02 16:24:48 19125 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人