Vue-Router 路由跳转方法

路由跳转方法

by logan70

HTML

<script src="https://cdn.bootcss.com/vue/2.5.17/vue.min.js"></script>
<script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>

<div id="app">
  <h1>Vue-Router 路由跳转方法</h1>
  <button @click="$router.go(-1)">后退</button>
  <button @click="$router.go(1)">前进</button>
  <br>
  请输入路径<input type="text" v-model="path">
  <button @click="$router.push(path)">跳转(push)</button>
  <button @click="$router.replace(path)">替换(replace)</button>
  <p>
    <!-- 路由导航,to属性决定导航地址 -->
    <!-- router-link编译后默认渲染为a标签 -->
    <router-link to="/home">主页</router-link>
    <router-link to="/user">个人页</router-link>
  </p>
  <!-- 路由渲染出口 -->
  <router-view></router-view>
</div>

JavaScript

const Home = {template: '<div><p>主页(Home组件)</p></div>'}
const User = {template: '<div><p>个人页(User组件)</p></div>'}
const Error = {template: '<div><p>输入地址有误,页面不存在</p></div>'}

const router = new VueRouter({
  routes : [
    {
    	path: '/home',
      component: Home
    },
    {
    	path: '/',
      redirect: '/home'
    },
    {
    	path: '/user',
      component: User
    },
    {
    	path: '*',
      component: Error
    }
  ],
  
})


window.vueApp = new Vue({
  router,
  data() {
  	return {path: '/home'}
  },
  watch: {
  	$route (to, from) {
    	console.log(this.$router.history)
    }
  }
}).$mount('#app')