import VueRouter from "vue-router";
import Vue from "vue";
import Home from "../components/Home";
import About from "../components/About";
Vue.use(VueRouter)
const routes =[
{
path:'/home',
component:Home
},
{
path:'/about',
component: About
},
]
const router= new VueRouter({
routes
})
export default router
<template>
<div id="app">
<router-link to="/home" tag="button" replace active-class="active">首页</router-link>
<router-link to="/about" tag="button" replace active-class="active">关于</router-link>
<router-link to="/home" tag="button" replace >首页</router-link>
<router-link to="/about" tag="button" replace >关于</router-link>
<!--router-view 告诉组件要渲染的位置,即跳转组件要展示的位置-->
<div id="aaa"><router-view></router-view></div>
</div>
<!--router-link的一些其他属性,默认渲染为a标签
tag:tag可以指定router-link 之后渲染成什么组件,比如tag="button"渲染的是按钮组件
replace:replace不会留下history记录,所以指定replace的情况下,后退建没办法返回上一层
active-class:当router-link对应的路径匹配成果后,会自动给当前元素设置一个router-link-active的class,设置active-class可以修改默认的名称
-->
<!-- .router-link-active哪个组件处于活跃状态就会自动绑定该class类,可以对.router-link-active进行一些事件的绑定-->
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
#aaa {
border: 3px solid red;
}
.active{
color: red;
}
</style>
name: 'App',
methods:{
homeClick() {
this.$router.replace('/home');
console.log('homeclick');
},
aboutClick(){
this.$router.push('/about');
console.log('homeclick');
}
}
}