download:Vue3.0+TS打造企业级组件库 前端中高级开发者必修课
1.生命周期 deactivated 当路由发生变化的时候,会被调用。 在keep-alive组件的下,beforedistoryed 周期是不会执行的。可以用作替代。
2.每次进去一个组件,但是这个组件可能不会每次都更新数据。 处理方法。
beforeRouteLeave(to, from, next) { if (from.path == "/control/ac") { this.$destroy(); next(); } }
3.vue中清除计时器:
clearInterval(this.page_timer);
this.page_timer=null;
(一)eslint静态检查
在大家用vue-cli创建工程的时候,会有一项,使用使用eslint,如果选择了y,那么工程就会安装并启用eslint。
这里列举一下常见的错误:
1.多余的分号
2.定义了却未使用的变量
3.结尾多余空格
4.超过一行的空行
5.代码尾行应该有空行
错误肯定是列举不完的,那么提示错误的时候,我们应该先去看提示信息(翻译),如果发现没有错误,可以对照 eslint的官方文档
在大家适应了eslint的写法后,效率和正确率会直线上升,这里安利下我的另一篇文章,提升效率的eslint+vscode的开发环境搭建
(二)this指向
经常会有朋友问一些undifined的错误,比如:
这是刚创建的工程,我们定义了list,idx和current,在执行iter方法时,我们就给current赋值以idx为下标的值,当我们执行后会发现,浏览器报了一个错误
这么回事,我们不是定义了idx了吗?
其实是因为我们在map里的this是指向当前map的迭代对象,而非我们vue的实例,所以this里没有我们需要的idx。
解决方式有两种,其一是通过保存this