- 博客(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关注的人
RSS订阅