Vue js 不改变路由 - vue 路由不起作用

时间:2021-04-24 02:09:51

标签: javascript vue.js frameworks vue-component vue-router

main.js

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
//Components
import Homepage from './components/Homepage.vue'
import Login from './components/Login.vue'
import RegistrationCompany from './components/RegistrationCompany.vue'

Vue.use(VueRouter);
Vue.config.productionTip = false


const routes = [
  { path : '/', name :'Homepage', component : Homepage },
  { path : '/login', name :'login', component : Login },
  { path : '/registration_company', name :'RegistrationCompany', component : RegistrationCompany },

]

const router = new VueRouter({
  mode: "history",
    routes
  
})

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

主页.vue

    <template>
  <div class="homepage">
    <h1>Home</h1>
    <p>
      <router-link to="/login">Go to Login</router-link>
      <router-link to="/registration_company">Go to Registration</router-link>
    </p>
  </div>
</template>

<script>
export default {
  name: "Homepage",
  props: {},
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
  margin: 40px 0 0;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>

App.js

<template>
  <div id="app">
    <Homepage />
  </div>
</template>

<script>
import Homepage from "./components/Homepage.vue";

export default {
  name: "App",
  components: {
    Homepage,
  },
};
</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>

看起来一切正常,只运行了一次,但不知道主js有什么变化,它又停止运行了

这是一个简单的代码,在主要代码中我声明了路由,在主页中我放置了链接标签以重定向到组件。

但是这些都不起作用,安装是通过 npm 正常完成的

1 个答案:

答案 0 :(得分:1)

您似乎错过了 router-view

<template>
  <div class="homepage">
    <h1>Home</h1>
    <p>
      <router-link to="/login">Go to Login</router-link>
      <router-link to="/registration_company">Go to Registration</router-link>
    </p>
    <router-view />
  </div>
</template>