- 博客(8)
- 收藏
- 关注
原创 简单易懂,超详细 Vue-Router 原理实现
Vue-Router 实现思路创建VueRouter插件,实现静态方法install。为什么要install静态方法呢?因为我们在Vue中注册VueRouter插件,即Vue.use(VueRouter) 时,Vue内部先判断传进来的VueRouter是函数还是对象,函数则执行,对象则调用其install方法,并会将Vue对象作为参数传入。判断插件是否已经被加载。(只要加载一次)当Vue加载的时候把传入的router对象挂载到Vue实例上。(只执行一次)当我们将路由信息放入VueRouter
2021-02-10 23:45:17
286
原创 超简单!观察者模式和发布订阅模式的区别
先上代码:发布订阅者模式class EventEmitter { constructor() { this.subs = Object.create(null) } // 触发事件 $emit(eventType) { if (this.subs[eventType]) { this.subs[eventType].forEach(handle => { handle()
2020-09-24 19:41:03
357
2
原创 Rollup 快速学习
Rollup概述Rollup是一款ES Moudle的打包器,作用上与Webpack非常类似,但是它更小巧,因为它仅仅是一款ESM的打包器,没有其他额外的功能。例如Rollup中并不支持类似HMR这种高级特性。Rollup并非要与Webpack竞争,它只是提供一个充分利用ESM各项特性的高效打包器,构建出一个解构扁平,性能出众的类库。快速上手创建一个简单的demo,包含3个js文件:message.js:export default { hi: 'Hey Guys, I am zce~'
2020-08-29 15:40:44
232
原创 大前端之关于this(看完以后再也不用担心this了)
大前端之关于this(看完以后再也不用担心this了)this三连问下面的this指向谁?const obj1 = { foo: function () { console.log(this) }}答案:指向谁都有可能,可能是全局,可能是obj1,这取决于它如何被调用,而不是取决于它被定义时的位置。下面的this指向谁?const obj2 = { foo: function () { function bar () { console.log
2020-08-06 16:46:56
148
原创 使用lodash对数组进行转换时遇到的坑
使用lodash对字符串数组parseInt时,遇到的坑问题: 有这么一个数组:[‘23’, ‘8’, ‘10’],通过lodash的map方法将字符串转换成数字const _ = require('lodash')console.log(_.map(['23', '8', '10'], parseInt))打印结果:[ 23, NaN, 2 ]通过分析,发现lodash的map方法传参顺序是数据优先,函数置后,即先传数组,再传处理函数。并且处理函数的参数有三个,传参顺序是于是我们的上述
2020-07-19 17:02:46
1478
原创 前端报错解决方法:Failed to execute ‘setRequestHeader‘ on ‘XMLHttpRequest‘: Value is not a valid ByteString.
Failed to execute ‘setRequestHeader’ on ‘XMLHttpRequest’: Value is not a valid ByteString.前端使用axios请求拦截,并设置请求头信息时,报错Failed to execute ‘setRequestHeader’ on ‘XMLHttpRequest’: Value is not a valid ByteString.原因在头信息中存在中文,需要对其进行编码。解决方法使用encodeURIComponent
2020-07-04 15:35:26
15958
原创 vue使用element-ui表单验证时提交无效的解决办法!
submitForm(formName) { this.$refs[formName].validate(valid => { if (valid) { alert("submit!"); } else { console.log("error submit!!"); return fal...
2020-03-06 17:22:45
3976
8
原创 学习NodeJS时,遇到Error: Cannot enqueue Handshake after invoking quit.的解决方案
问题Error: Cannot enqueue Handshake after invoking quit.在最近学习node.js如何连接mysql数据库时,遇到了一个问题,第一次连接数据库时正常,再次与数据库交互时报错:Error: Cannot enqueue Handshake after invoking quit.原因就是:当你在发出请求的时候执行connection.c...
2019-07-30 22:32:36
3672
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人