TypeScript下的vue2,this指针损毁问题

77 阅读1分钟

有一天,发现某些.vue文件下的this,在vscode运行时,全部报红。
尝试查了搜索,发现了这个

image.png

无果。

过程中察觉了一个疑点:不是全部this坏掉了。
于是排查中发现了复现方式。

复现

  provide() {
    return {
      layoutRefs: this.$refs,
    };
  },

这么写后,将导致该.vue文件下的this,在vscode运行时,全部报红,但可以运行。

解决

provide() {
  const $refs = this.$refs as any;
    return {
      layoutRefs: $refs,
    };
  },