账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Vue TypeScript 使用 vue-property-decorator 提示 router-view 未注册
    38
    0
    <template>
        <div id="app">
            <router-view></router-view>
        </div>
    </template>
    <script lang="ts">
    import { Vue, Component } from 'vue-property-decorator'
    
    @Component
    export default class extends Vue {
    }
    </script>
    

    如果我使用上述方式,在运行后会报错

    Unknown custom element: <router-view> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

    并且 vue 对象上没有了$router 和 $route

    如果我去除

    @Component

    才能够正常使用,请问我如何才能正确使用它?@Component

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 不傲怎称霸 普通会员 1楼

      在 Vue.js 中,你可以在使用 vue-property-decorator 时遇到 "router-view" 未注册的问题。这通常发生在你使用 vue-router 作为你的路由库,并且你想要在组件中使用它时。

      解决方案是确保你已经正确地导入了 vue-router,并且你已经在你的组件中注册了它。你可以这样做:

      ```typescript import VueRouter from 'vue-router'; import Home from './components/Home.vue';

      Vue.use(VueRouter);

      export default new VueRouter({ routes: [ { path: '/home', component: Home, }, ], }); ```

      在这个例子中,我们在使用 vue-router 之前导入了它,并且在我们的组件中注册了它。

      如果你仍然遇到问题,你可以尝试在你的组件中手动注册 router-view 组件。这可能需要一些手动操作,具体取决于你的项目结构。以下是一个简单的例子:

      ```typescript import VueRouter from 'vue-router'; import Home from './components/Home.vue';

      Vue.use(VueRouter);

      export default new VueRouter({ routes: [ { path: '/home', component: Home, }, ], }); ```

      然后在你的组件中注册 router-view 组件:

      ```typescript import { VueRouter } from 'vue-router';

      export default new VueRouter({ routes: [ { path: '/home', component: Home, }, ], }); ```

      这样你应该就可以在组件中使用 router-view 组件了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部