我的项目中有src/route/router.js:
const Reservation = () => import("../components/Reservation.vue");
const Scheduler = () => import("../components/Scheduler.vue");
const routes = [
{
path: "/index.html#reservation",
name: 'reservation',
component: Reservation,
},{
path: "/index.html#scheduler",
name: 'scheduler',
component: Scheduler,
}
];
export default routes;
我可以在我的代码中放置一个断点,它会在页面加载时触发它。
在App.vue中,我渲染了Header.vue组件:
<template>
<Header></Header>
</template>
<script>
import Header from './components/Header.vue';
export default {
name: 'App',
components: {
Header
}
}
</script>
header 组件链接到其他非 vue 页面,但在标记为 useRouter 的元素上,它呈现如下链接:
<li v-for='child in topLevel.children' :key='child.text'>
<span v-if="child.useRouter"><router-link :to="child.link">{{ child.text }}</router-link></span>
<span v-if="!child.useRouter"><a :href="child.link">{{ child.text }}</a></span>
</li>
在同一个 Header.vue 中包含在其模板中:
...
</div>
<router-view></router-view>
</div>
</template>
我在Header.vue文件中有以下导入:
import { ref } from 'vue';
import axios from 'axios';
单击链接时,两个组件都不会加载到路由器中。单击时,该 url 不会随哈希标签而变化。但即使手动编辑 url 以匹配路由也不起作用。
当它们直接加载到页面上时,这两个组件都可以工作。即使单击应路由的元素,页面上也不会出现 JavaScript 错误。