首页 > 解决方案 > 类型、nuxt 和 typescript 上不存在属性“$router”?

问题描述

我最近将 typescript 集成到一个 nuxt 项目中,并且收到 $ router 错误,以及我在里面声明的属性

data(){ return {property1: ''} }

按照文档https://typescript.nuxtjs.org/es/cookbook/components中的指示执行它我不再收到这些错误,但我对如何做到这一点有疑问,以便不必将此部分添加到每个组件

    import Vue from "vue";
    export default Vue.extend({
       data(){
        return {
            property1: ''
        }
       }
    });

并且只有作为 export default { data(){return {property1: ''}}}

我已经在types/vue-shim.d.ts

import Vue from "vue";
import VueRouter from "vue-router";
import { Route } from "vue-router";
declare module "*.vue" {
  import Vue from "vue";
  export default Vue;
}
// Expansion
declare module "vue/types/vue" {
  interface Vue {
    $router: VueRouter;
    $route: Route;
  }
}

标签: typescriptnuxt.js

解决方案


推荐阅读