自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue2.x中使用TS来构建mixin步骤

在vue2.x的版本中,我们经常会使用mixin来进行重复代码的抽离,JS的用法能在网络上找到很多资源,这里就不在赘述了。在此主要想介绍一下怎么通过TS来进行mixin组件的抽离。首先构建mixin文件,此处和JS构建的方式不一样,JS一般的构建方式是通过创建mixin.js文件然后在文件内部通过export来进行导出,然后得到抽离出来的公共部分。而TS需要创建的是一个xxx.vue的文件,而后在vue文件中构建<script lang="ts">的标标签来抽取公共部分的。代码如下:

2022-01-26 23:18:18 1895

原创 select组件抽离遇到的一些问题

element-select组件链接:https://element.eleme.cn/#/zh-CN/component/selectvue-infinite-loading组件链接:http://peachscript.github.io/vue-infinite-loading/zh/api/#infinite$state为vue-infinite-loading状态,在使用下拉加载的时候,$state可以控制是否加载更多及加载完成、加载失败等页面展示。$state.loaded()

2021-09-06 17:15:33 188

原创 mac关闭vscode再次打开出现 找不到文件夹或者node not is command

nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"Run `npm config delete prefix` or `nvm use --delete-prefix v15.11.0 --silent` to unset it.The default interactive shell is now zsh.To update your account to use

2021-09-03 14:29:27 791

原创 Git 修改已提交的commit注释

修改最后一次注释如果你只想修改最后一次注释(就是最新的一次提交),那好办:git commit --amend

2021-09-03 14:28:38 164

原创 git拉取当前分支更新代码

git fetch --prune (或者git fetch '分支名称')//git stash(暂存当前工作)git merge 'origin/feature/name/vesrsion-3.0.0' git merge [origin]/[分支名称]git stash pop stash@{0} 还原暂存当前分支

2021-09-03 14:27:57 888

原创 git开发操作流程

开发准备若为首次开发,可将代码从仓库克隆到本地中,详情gei clone '代码地址',不过在此之前,需要先获得ssh权限。SSH获得硕ssh权限之后,我们就可以clone代码到本地进行开发了。开发中1 从仓库中拉取代码进行开发1、创建一个自己的分支进行开发,根据你开发的内容来确定分支名,例如 'feature/name/xxx',接下来就是创建,先新建自己的分支,例如 :git branch '分支名称'。2、创建完成后,切换到自己所创建的分支进行开发,git checkout

2021-09-03 14:27:18 391

原创 console.log()输出异步问题

想通过console.log()来打印输出变量的结果,后发现变量所打印出来的结果与自己预想的不一致,所以去深入了解一下console.log()原因在分析之前,我们得知道一点,JS中对象是引用类型,每次使用对象时,都只是使用了对象在堆中的引用。例如如下代码let a = { index: 1}console.log(a) //此处打印出 Object { index: 2 }a.index++按照正常的代码思路,代码顺序执行,打印出来应该是 index: 1, 而不是inde...

2021-09-03 14:25:04 955

原创 vue双向绑定原理

数据劫持部分:在vue2中,采取的是用object.defineProperty()方法来对数据进行劫持,在该方法中,需要去遍历data中的每一个数据,并且在监听数据的时候需要new一个Dep对象来存放需要当前数据的订阅者,当data被访问时,将对应的watcher订阅者加入到Dep中, 当data发生改变时,调用存放在Dep中所有watcher的notify方法来更新视图。编译部分:首先对传进来的el元素进行逐个进行判断,判断其是属于元素节点还是文本节点,不通的节点采用不同的方法进行编译,还要判断

2021-09-03 14:24:16 126

原创 vue中异步渲染

今天在知乎遇到一个这样的问题:​看到这个问题的时候思考了一下,mounted确实已经加载完DOM,并且完成挂载操作了,为什么在这个地方能够进行渲染呢。后面想到了vue中的Virtual DOM,应该是渲染完成再通过beforeUdated钩子函数渲染到真实DOM节点上,所以渲染到真实DOM的时候实际上执行的是一个异步函数,等虚拟DOM都渲染完成之后再通知真实DOM执行回调,这样就能渲染到真实页面上了。回到本问题,因为mounted还是异步函数中同步执行的过程,所以才能够修改“kkk.

2021-09-03 14:23:39 860

原创 webpack具体配置

1、entry 文件入口文件entry有以下几个方式来指定入口文件1)entry: '' (String)2)entry: [] (Array)3): entry: {} (Object)第一种方式会根据提供的字符串,生成一个chunk和一个bundle.js文件,这是最常用的一个方式。第二种是一个多入口文件的方式,将字符串放在数组中,可以指定多入口文件。但是该方法也只会生成一个chunk和一个bundle.js。第三种是一个多入口,多chunk的一种方式,以键值对的形式 nam

2021-09-03 14:22:32 392

原创 深拷贝和浅拷贝

引言在进行取数工具2.4.1需求迭代的时候,其中有很多的"="赋值和深拷贝赋值,“=”赋值之后,若修改了新数组,则原数组也会发生改变,所以想深入探讨一下深浅拷贝1、对于深拷贝和前拷贝,基本类型是没有这个概念的,只有对引用类型这两个概念才需要。基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中。而引用类型,是将引用类型的地址存放在栈中,具体数据是栈中地址所指向堆的位置才是具体数据。2、在对引用类型进行深浅拷贝时,深拷贝相当于是将引用对象中每个属性的值重新赋值给新的对象。而浅拷贝是将

2021-09-03 14:21:45 114

原创 使用Vetur插件报一堆红线,但是能够正常运行。去除红线方法

使用Vetur插件时,出现这种找不到文件或者其他的错误。程序能够正常运行,这时候我们需要进行如下设置解决方法:  1. 在VSCode中找到设置-----用户------扩展----Vetur  2. 按照下边的方式,找到这个将勾选去掉...

2021-09-03 14:19:10 2248

原创 力扣48,旋转图像

在这里是先转置,再对转置之后的矩阵进行交换操作。首先对数组进行转置,以中线为基准线,这样就可以避免交换值的覆盖。转置完成之后,对转置后的图像进行交换操作,在此列的范围需要定义为len/2,不然会出现交换值覆盖的情况...

2020-06-01 17:47:58 268

原创 leetcode560,和为k的子数组

暴力发就不过多赘述,在次写下优化的方法。class Solution{ public: int subarraySum(vector<int>& nums,int k){ unordered_map<int,int>m; m[0] = 1; int sum = 0; int count = 0; for(i...

2020-05-21 12:05:13 114

空空如也

空空如也

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

TA关注的人

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