- 博客(63)
- 资源 (2)
- 收藏
- 关注
原创 vue返回上一个页面再次拿其他数据进去该页面时无刷新
对于该问题我们在要进入的页面监听路由的变化// 比如要对type重新赋值请求,就得在监听路由的方法getpage里面进行赋值data(){ return{ type:"" }}created(){ this.getpage()}watch:{ '$route':"getpage" //需要处理数据的方法}mtthods:{...
2019-05-16 11:15:59 4454
原创 修改CSDN博客的昵称
1.点击右上角我的博客,进入下一个页面2.点击-管理博客-在下一个页面里面点击博客设置,在里面修改保存即可。。。。希望能帮助到有需要的人!!!!...
2018-03-18 10:22:50 1096 2
原创 知识点汇总
块元素弹性布局:flex定位:父元素position:relative1、绝对定位 + transform,translateX(-100px) translateY(-100px);2、绝对定位 + margin;3、绝对定位 + calc;grid:和flex一样table行内元素vuevue2:缺点:1、无法监听数组的变化,所以在vue底层改写了数组的几种原生方法2、不能监听没有定义的属性3、删除对象属性和添加无法响应式,需要借助$setvue3:相比vue2优点:1、可以监听整个
2022-06-28 19:11:55 270 1
原创 vue问题整理
!!!持续记载!!!对于组件,我们尽可能将组件设计为非受控组件对于不会咋变化的设计成受控组件也可,但很多时候我们的业务在变化,很多东西可能都改变了,这时候我们的受控组件无法改动,因为改动就会影响到其余使用的地方,虽然可以增加属性去控制,但明显不够灵活,也不利于拓展尽可能做到如下:因为在定义data数据里面你可能没有定义这个属性,导致无法进行响应式更新目前最大的问题可能就是这个,因为在响应式的时候劫持data数据,并没有拿到对应的属性,所以自然也不会在页面实现响应式更新...
2022-06-16 16:08:59 130
转载 DOM、CSS渲染解析过程
DOM解析过程如下为dom的解析图解解析的过程具体为:网络进程接收响应头(content-type),根据该字段来判定文件类型,假设值为‘text/html’为该请求创建渲染进程,并与网络进程建立数据通道,网络进程接收到的数据通过数据通道传递给渲染进程进而读取数据渲染进程读取的数据交给HTMLparser(渲染引擎内部模块)解析,解析器会动态接收字节流,将其解析为DOM字节流转化为DOM通过分词器(类似词法解析)将字节流转化为token(tag Token和文本Token)由图可
2022-03-02 17:10:26 1370
原创 git合并分支,将要被合并的分支commit合并为一个
合并可以使用git merge ( 等同于 git merge fast-forward)你要消除多余commit,可以加上参数 --no-ff 就是如 git merge --no-ff -m ‘日志信息’ dev(将dev合并到当前分支,生成一个新的commit)具体可以参考git合并分支...
2021-10-28 10:49:45 715
原创 setState是同步还是异步
关于setState附上官网地址一份setState描述其实探讨是否是同步还是异步这个问题很好理解能紧随其后拿到结果的可以认为同步(简单理解哈,一些场景暂不考虑,当然有一些属于异步的但是异步任务刚好都结束了,直接拿到了对应的结果)...
2021-09-03 10:43:32 3191
原创 promise的运用和实现
话不多说先贴上es6规范地址:ES6promise规范先来看看promise的定义:Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样
2021-07-08 16:26:07 96
原创 scss常用语法整理
定义变量使用$theme-color: #f10215;$main-color: green;使用:main{ color:$theme;}mixin使用:将样式混入到其他地方使用scss文件中定义变量:例如@mixin border($deg,$1,$2,$3,$4){ // 定义的样式 // 听过角度deg去控制哪个方向是渐进色 border-image:-webkit-linear-gradient($deg, #FF8002, #B5C915, #5ABB91) $1,$
2021-06-17 18:07:12 376 2
原创 webpack开发loader和plugins
现如今webpack作为前端不可或缺的打包工具之一,它具有非常强大的功能,也需要我们慢慢开发,实际中我们涉及到的基本如下:配置项配置(loader、plugins)开发属于自己需求的loader或者plugins对于loader它其实更像是一个转换器,将我们拿到的资源经过我们特定的转换输出到外部使用,我们开发模板也比较简单,只是功能因项目而异:下面我简单将拿到的资源中的border实线换成虚线,简易的,没有做过多匹配关系test-loader/index.js:// 引入这个包是为了我们拿到
2021-06-04 18:29:31 158
原创 手动实现map
定义和用法map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。注意: map() 不会对空数组进行检测。注意: map() 不会改变原始数组。要明白一个方法的实现,必须了解它的用法,才能一步一步去实现:map作为我们循环数组常用的方法之一,以下是其特性:它return有返回值出来拥有两个参数:function(回调函数)和 thisValue(传递给回调函数的对象)不会改变原数组接下来我们来实现这么个东西.
2021-06-04 17:56:56 535
原创 闭包 执行上下文 作用域链
闭包的概念总的来讲可以概括为:内层函数实现了一个对外部变量的引用,将外部变量长久的保存了下来通俗的讲闭包其实就是一个可以访问其他函数内部变量的函数。即一个定义在函数内部的函数,或者直接说闭包是个内嵌函数也可以。红宝书闭包的定义:闭包是指有权访问另外一个函数作用域中的变量的函数。MDN:一个函数和对其周围状态的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。相关概念:执行上下文,作用域链执行上下文:(
2021-05-31 17:32:19 192
原创 webpack js兼容性处理
目前最新的代码规范很多都不能直接被浏览器识别访问,而借助webpack我们可以使用babel对js进行转换,将其变成浏览器可识别的代码其中就有个loader:babel-loader 而跟他一起使用的或者有依赖关系的还有其他的 @babel/core @babel/preset-env @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators 所以我们需要安装这些包cnpm i babel-loade...
2021-05-21 10:52:01 597
原创 webpack配置之postcss-loader和postcss-preset-env
在我们打包css的时候难免会遇到css的兼容性问题此时webpack提供了postcss-loader和对应插件postcss-preset-env而这两个东西的使用在webpack4和webpack5有些许不同 rules: [{ test: /\.css$/, use: [ // 'style-loader', \ // 取代
2021-05-20 18:44:08 4371 1
原创 vue源码之$on,$emit,$off
1.$emit$emit在vue中担当一个传递事件的角色,它将我们传递的事件派发到vm的事件系统中(vm._events),统一去管理派发的事件,源码如下Vue.prototype.$emit = function (event) { var vm = this; { var lowerCaseEvent = event.toLowerCase(); if (lowerCaseEvent !== event && vm._ev
2021-04-09 17:24:01 724
原创 盒模型
盒模型分为标准模型和IE模型标准的宽包括设置的padding+border+content(依随content往外扩)box-sizing:content-box而IE模型例如设置了宽100,padding20,border5,其实他的内容区content只有50宽,这个模型下面的合资宽就是设置的宽度(依随content往内挤)box-sizing:border-box...
2020-11-26 00:02:15 113
原创 react的this.setState的同步异步问题
// 在异步中同步更新 add=async()=>{ // setTimeout(() => { // this.setState({ // count:this.state.count+1 // }) // }); await this.setState({ count:this.state.count+1 }...
2020-11-25 23:07:05 767
原创 下拉选项太多,导致输入框响应很慢,延迟久
方案就是把所有的数据请求出来,利用下拉滚动条去二次添加数据,例如首次只展示100条,等下拉到底部时将接着的100条push到对应下拉展示的数组里// 目标事件是onPopupScrollthis.state={ pageIndex:1, // 第一页加载的 pageSize: 100, // 加载的数据间隔大小 scrollPage: 1, // 滚动的是第几次 keyWords:'', // 搜索的关键字 optionData:[], //
2020-10-22 14:35:27 937
原创 行为验证,极验二次验证
(function (global, factory) { "use strict"; if (typeof module === "object" && typeof module.exports === "object") { // CommonJS module.exports = global.document ? factory(global, true) : function (w).
2020-09-02 11:55:38 851
原创 call和apply实现原理
call:它的作用是改变调用者的this指向到指定的对象上面,并将调用者执行之后返回给自己var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; }}var person1 = { firstName:"Bill", lastName: "Gates"}person.fullNa
2020-08-27 14:46:26 834
原创 Object和Function
1. 首先Object和Function都是构造函数,而所有的构造函数的都是Function的实例对象. 因此Object是Function的实例对象2.Function.prototype是Object的实例对象3. 实例对象的原型(我们以__proto__来表示)会指向其构造函数的prototype属性, 因此 Object.__proto__ === Function.prototype, Function.__proto__ === Function.prototype, Function.p.
2020-08-24 14:24:37 1610 3
原创 vue响应式原理代码
数据劫持结合订阅者观察者模式,通过节点的改变,将对应的收集对应的观察者,去触发对应的节点更新let Global=null;const utils = { getValue(value,vm){ return vm.$data[value.trim()] }, setValue(value,vm,newValue){ vm.$data[value] = newValue }, model(node,value,vm){
2020-08-11 15:53:35 197
原创 IE兼容问题整理
1.后台返回的Blob文件流格式在ie和谷歌是不一样的: 谷歌的可能是 { size:74, type:"application/json" }, 而IE的是 { size:74, type:"application/json;charset=UTF-8" }2.下载文件需要判定是否是IE//下载文件export function dow...
2020-06-17 17:40:41 860
原创 IE请求兼容性问题
IE请求路径中无法识别中文字符,需要将参数进行转码const requestbody = encodeURI(`/bid/bond/updateInvestor?investorId=${baseId}&createUser=${12}&investorFullName1=${investorFullName}&investorSimpleName1=${investorSimpleName}&investorType=${investorType}&conta
2020-06-17 15:14:00 230
原创 IE下载或者导出不兼容问题处理
//下载文件export function downloadPDF(data, name = 'file.docx') { if (!data) { return } var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8', }) if (isIE()) { window.
2020-06-17 11:36:53 363
原创 js比较时间的大小
parseTime(time){ let time1='' if(time){ time1 = time.replace("-","/"); } return time1}let start = '2020-06-11 16:18:10 'let end = '2020-06-11 16:18:10 'let time = parseTime(start)let end = parseTime(end)对比大小即可其他格式的可转换格式可.
2020-06-11 16:21:47 592
原创 截取url上面的参数
getUrl(url) { var result = []; var query = url.split("?")[1]; var queryArr = query.split("&"); queryArr.forEach(function(item) { var obj = {}; var value = item.split("=")[1]; var ...
2020-05-18 14:40:15 233
原创 v8引擎内存回收
v8引擎的内存设置上限原因在于JavaScript在回收垃圾的时候会中断任务的执行,回收100M的大致需要3毫秒,如果这个内存不设置大小的话,JavaScript一直去使用这些内存,存在大量回收的时候可能中断整个程序的执行,这肯定不是我们想要的在浏览器中,它会时刻的检测你的内存使用情况,在你的内存接近满的时候,它会去查看有哪些变量是没用的可以回收的,直到实在没有可回收的引起内存问题的几个常...
2020-04-24 16:34:56 135
原创 事件的执行机制 事件循环
js代码的执行都是有顺序结构的,先执行同步任务在执行异步任务;而异步任务又分为宏任务和微任务;宏任务:setTimeout setInterval I/O script微任务:promise.then() process.nextTick例如以下代码:setTimeout(_ => console.log(4))new Promise(resolve =...
2020-04-24 15:24:20 600
原创 git合并分支通用操作
把一个分支的代码合并到指定分支上例如将dev分支的代码合并到master// 切换到master分支 git checkout master// 合并dev分支到master git merge devgit push
2020-04-17 09:58:59 126
原创 数组方法
数组的方法很多,像什么every():检测数组的每个元素是否都符合条件;some():检测数组元素中是否有元素符合指定条件;filter():检测数组元素,并返回符合一傲剑的所有元素的数组;map():通过指定函数处理数组的每个元素,并返回新数组。let arr = [1,2,3,4,5,6,7];let everyFor = arr.every( (item)=&...
2020-04-13 13:53:10 147
原创 ie下new Date(2020-02-02 12:12:12)类型的时间出现Invalid Date
let time = record.filingTimeEnd;time = time.replace(/-/g,':').replace(' ',':');time = time.split(':');let time1 = `${time[0]}/${time[1]-1}/${time[3]} ${time[3]}:${time[4]}`let newTimer = new Dat...
2020-04-13 11:25:18 1394
原创 react路径跳转
import { createHashHistory } from '/history'在某个事件或者方法里面使用class app extends Component { constructor(props,context){ super(props,context) this.state={ } } ...
2020-03-17 16:56:28 483
原创 如何判断一个对象里面的属性值都为空
const applyData = { name:'', age:''}let result = !Object.values(report).every(item => item === '');console.log(result) //false
2019-11-21 10:16:42 3664
原创 XMLHttpRequest: 网络错误 0x2efe, 由于出现错误 00002efe 而导致此项操作无法完成
ie下通过url拼接参数带中文的请求兼容性处理: 需要通过encodeURI将url转码,这样url不包含中文就可以请求成功 encodeURI(url)即可; 如...
2019-11-19 16:20:22 6891
原创 meta标签设置问题
<meta name="viewport" content="width=device-width, initial-scale=1"/>// content有以下属性值/* 1.width:可设置数值,也可设置字符(device-width) 2.initial-scale:设置页面的初始缩放值,为一个数字,可以带小数 3.minimum-scale:...
2019-07-18 17:32:15 164
原创 小程序选择列表
如下效果:使用小程序的方法wx.showActionSheet处理wxml: <view class='method'> <text class='left'>付费方式</text> <view class='right' bindtap='selectMethod'> <text>{{ m...
2019-06-28 16:18:13 1628
原创 数组格式转换
// 将["1","2","3"]这种数组转化成数值类型[1,2,3]var str = ["1","2","3"]str.map(Number)
2019-06-18 18:26:42 1136
原创 watch监听数据
data(){ return{ active:0 }},watch:{ active(old,newValue){ // old旧值;newValue新值 if(old!=0){ console.log('1111') } } }
2019-06-14 11:47:40 2325 1
行为验证,二次极验认证
2020-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人