【问题标题】:vue router is undefinedvue 路由器未定义
【发布时间】:2023-12-11 01:35:01
【问题描述】:

http://localhost:3000/apartamentai?filter[city]=维尔纽斯

import { ref, onMounted } from 'vue';
import { useRouter, useRoute } from 'vue-router';

export default {
    setup() {
        const router = useRouter();
        const route = useRoute();

        console.log(router);
        console.log(route);
    
        onMounted(() => {
            console.log(router);
            console.log(route);
        });
    }
}

我得到 4 个undefined。怎么了?

https://next.router.vuejs.org/guide/advanced/composition-api.html

【问题讨论】:

    标签: vue.js vue-router vuejs3


    【解决方案1】:

    您必须在您的应用中创建和注册路由器:

    import { createApp } from 'vue';
    import { createRouter, createWebHistory } from 'vue-router';
    
    const router = createRouter({
        mode: 'history',
        history: createWebHistory(),
        routes: [],
    });
    
    createApp({})
        .use(router)
        .mount('#app');
    

    取自这里: https://next.router.vuejs.org/guide/#router-view

    【讨论】:

    • @keizah7 这是 Vue 3;我刚刚从官方路由器文档中复制了代码。这基本上是正确的,但是您当然可以解构导入以分别仅加载 createRoutercreateWebHashHistorycreateApp 方法。对于您的其他问题,我建议您查看路由器文档