- 博客(14)
- 收藏
- 关注
原创 白话 _proto_和protoType的关系 以及原型链
好久没有记录了 插句题外话 最近面试的时候 有人说 csdn的文章 也没有多么的高级 说过国外的文档的多么多么的高大上 我想说的是 国外的文档 高不高大上 这个话题就不在这深入的讨论了 我只想说 写文章就是在 某个点上 突然间明白了或者有什么心德记录 总结 分享一下 仅此而已说主题 关于_proto_和protoType的关系 网上有很多的文章 个人觉得 不是特别的好理解 下面用大白话说一说 个人对于 他俩关系的理解吧_proto_是每个对象都有的属性 protoType是每个函数都...
2021-07-29 20:02:18
147
原创 vue组件封装 集成到npm官网
组件封装 集成到npm官网:分享一下组将封装好久之前,面试的时候 被人家问当时一下子懵逼,后来学习了 果然面试时最快捷有效提升的方法之一废话不多说 上干货1 写组件就不多说了2 组件管理文件夹下添加index.js 文件 里面写代码按照图中 写就行了 注释的很清楚了3 在package.json中配置信息Name 组件名称 不能重复 否则上传失败Version 版本号Description 描述License 模式 就那么写就行Private 设置成false 变成了公用的Main
2021-03-02 15:27:35
165
转载 ES6 Promise 用法讲解
Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。那就new一个var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000);});Promise的构造函数接
2021-02-26 17:38:31
128
原创 Vue 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)详解
Vue 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)详解:路由守卫 官方解释“导航”表示路由正在发生改变。正如其名,vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。简单的说,导航守卫就是路由跳转过程中的一些钩子函数。路由跳转是一个大的过程,这个大的过程分为跳转前中后等等细小的过程,在每一个过程中都有一函数,这个函数能让你操作一些其他的事儿,这就是导航守卫。类似于组件生命周期钩子函数路由守卫分类一
2021-02-22 13:16:55
6308
转载 vue-router两种模式
vue-router两种模式:vue -router有两种模式 hash模式和history模式,开始不是特别明白 于是网上搜了些文章总算有了了解 下面来说说为了构建 SPA(单页面应用),需要引入前端路由系统,这就是 Vue-Router 存在的意义。hash模式vue-router默认此种模式 url 地址栏中结尾处带#符号 他背后的原理是onhashchange事件,可以在window对象上监听这个事件上面的代码可以通过改变hash来改变页面字体颜色,虽然没什么用,但是一定程度上说明了
2021-02-22 10:15:44
188
原创 NextTick的作用
vue中NextTick的作用:Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM上个例子页面效果 点击前点击按钮之后可以看到,msg已经变成了Hello world,在changeMsg()方法中,先修改msg的值成为‘Hello world’,然后通过拿到dom的值再依次修改msg1、msg2、m
2021-02-19 19:47:55
2629
转载 ES6常用方法总结
ES6常用方法总结:使用let/constvar 命令会发生“变量提升”现象,既变量可以在声明之前使用,值为undefined。个人认为,对声明的变量确定后面不会发生更改时,即使性能上没有太大提升差异在,但使用const,代码的可读性也会增强很多。const 实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。let 变量指向的内存地址,保存的只是一个指向实际数据的指针。解构赋值ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构好处就
2021-02-19 12:16:58
301
原创 面试题解析 this 指向
面试题解析 this 指向:上几道面试题 来分析一下this的指向个人总结了一句话 this指向规则 运行一个函数 没有调用者 指向全局window有调用者 指向调用者 但是在箭头函数中 谁定义 就指向谁1题分析obj.f() 他的调用者是obj, obj作用域内部的name 的值修改了全局name 的值 就是xyzobj.f2() 箭头函数 obj属于window下 可以看成window.obj.f2() 遵循谁定义 指向谁 window下定义 那么指向全局 window的na
2021-02-16 12:46:38
414
1
原创 vue中混入mixins用法
vue中混入mixins用法:vue中提供了一种混合机制 mixins,用来更高效的实现组件内容的复用,开始感觉和组件没啥区别,但是在使用之后 发现还是有些不同的混入 (mixins) 是一种分发Vue组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。当组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。网上有好多对于 mixins的理解组件在引用之后相当于在父组件内开辟了一块单独的空间,来根据父组件props过来的值进行相应的操作,单本质上两者还是泾渭分明,相对独立。
2021-02-06 11:55:32
1631
原创 vue使用render函数优化template模板
vue使用render函数优化template模板:vue推荐在大多数情况下 使用tmplate创建html, 但是在一些特殊场景中需要js的完全变成能力 这就是render函数 他比template 更接近编译器在vue中比较常用的是优化template 冗余代码项目中我们经常会遇到下面这种代码这种多重判断 if else虽然能实现功能的正常使用,但是看起来有点low 那么遇到这种场景的时候 我们就可以使用render 函数来优化我们的template模板render 函数核心 create
2021-02-04 15:44:37
1342
原创 vue 题解宏任务和微任务
vue 题解宏任务和微任务:宏任务: 当前调用栈中执行的代码成为宏任务 (主代码块 定时器等等)微任务: 当前(此次事件循环中)宏任务执行完, 在下一个宏任务开始之前需要执行的任务,可以理解成回调事件 (promise proness nextTick等)上个图 看一下他们下面通过几道 烂大街的面试题 来看一下他们的执行顺序...
2021-02-01 16:50:58
2016
原创 vue 高频组件封装和使用小技巧
vue 高频组件封装和使用小技巧今天分享一个 对于项目中 使用频率比较高的组件封装引用的小技巧大家 都知道在项目中 调用组件 有两种方式(一) main.js 全局引用 或者 部分引用(二) 在使用页面单独引用 要先import, 然后在 components 注册, 最后在template模板中使用我今天想说的是 第二种在 组件在使用频率很高的情况下使用 我们可以通过 webpack api的 require.context()方法 把我们常用的组件 统一引到项目中 下面上详细代码
2021-01-29 10:14:06
351
原创 简述VUE1和2版本的设计理念
简述VUE1和2版本的设计理念:vue1是没有虚拟dom的 每次更新的时候把原始的dom销毁 然后创建新的替换vue2有了虚拟dom(它的本质是js对象 他是和真实的dom一一对应的, 通过对比vnode更新视图) 他的特点是 初始化慢(因为多虚拟dom) 更新快(虚拟和真实的js对象对比,然后更新不同的地方)下面上代码在这里插入代码片// 虚拟dom(vnode) => 真实dom // vue 渲染第一条线(创建) 1次function createElement(vnode)
2021-01-28 10:11:44
160
原创 白话vue深拷贝和浅拷贝
白话vue深拷贝和浅拷贝简单的来说 深拷贝就是a=1 然后把a复制给b 然后修改b的值 a的值不变(原理: 新创建一个同样值是1的变量a, 然后把这个新a 的内存空间地址指向给b, b的内存空间指向是新a 修改b的值 那么a的值自然不变 因为他们的内存空间指向不一样)浅拷贝 就是b复制了a 当修改a的值 b的值也发上了变化(原理: 把变量a复制给b 然后a和b 他们是公用同一个内存空间地址, 此时修改a变量的值 那么b 自然也会跟着改变 )下面来个栗子吃data(){return{inf
2021-01-26 14:30:05
203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人