【发布时间】:2021-01-30 01:37:35
【问题描述】:
现在我正在尝试使用 Vue3 创建网站的前端。但是现在我在使用路由器时遇到了问题。 这是我的代码。
Main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
createApp(App).use(router).mount('#app')
路由器/index.js
import {createRouter, createWebHistory} from 'vue-router'
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
]
const router = createRouter({
history: createWebHistory(),
routes
});
export default router;
App.vue
<template>
<img alt="Vue logo" src="./assets/logo.png">
<h1>Hello App!</h1>
<p>
<!-- use the router-link component for navigation. -->
<!-- specify the link by passing the `to` prop. -->
<!-- `<router-link>` will render an `<a>` tag with the correct `href` attribute -->
<router-link to="/">Go to Home</router-link>
<router-link to="/about">Go to About</router-link>
</p>
<!-- route outlet -->
<!-- component matched by the route will render here -->
<router-view></router-view>
</template>
<script>
export default {
name: 'App',
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
渲染后路由器视图中没有内容。我该如何解决?
【问题讨论】:
-
在您的
App.vue中用div包装所有内容并添加id: 'app'我的意思是<div id="app">everything here</div> -
尝试从
import Home from '../views/Home.vue'的文件中导入主页和关于视图 -
不幸的是,它也不起作用。
-
确保你的 About.vue 文件是这样的:
<template> <h1>About</h1> </template> -
和以前一样。
标签: vue.js vue-component vue-router vuejs3 vue-router4