首页 > 其他 > 详细

vue +ts 的一次踩坑日记

时间:2019-11-21 21:39:00      阅读:151      评论:0      收藏:0      [点我收藏+]

在vue的方法里面写事件的时候比如写一个路由跳转,方法大概如下:

 goBack1() {
           console.log(this);
           this.$router.back();
 }
正常情况下只要你使用了vue-router都没问题,但是在TS中由于对类型检查是很严格的,所以就算最终可使用。但是在编译器上会出现
Property ‘$router‘ does not exist on type ‘{ goBack1(): void; }‘.这样的问题,查了原型链发现方法是有的一开始只是觉得是router这方法有问题,但是实际上refs这样的一些方法调用的时候一样会报错,问题就出在this上面,他指向的是vuecomponent这个类型,我们的方法确是void返回,any类型,所以只要改成
((this as any).$router).back();
对this进行一个转换就可以了

vue +ts 的一次踩坑日记

原文:https://www.cnblogs.com/llcdbk/p/11908384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!