使用VueRouter的前提:
1, 必须导入vue-router.js文件
2, 要有VueRouter()实例
3, 要把VueRouter实例挂载到Vue实例中
4, 路由的入口
<router-link to='/index'>index页面</router-link>
5, 路由的出口
<router-view></router-view>
第一个VueRouter实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="d1">
<!--路由的入口-->
<!--里面必有这个to="路径" 属性-->
<router-link to="/index">index页面</router-link>
<router-link to="/home">home页面</router-link>
<hr>
<!--路由的出口-->
<router-view></router-view>
</div>
</body>
<script src="vue.js"></script>
<script src="VueRouter.js"></script>
<script>
//写路由
const routes = [
{
path:"/index",
component:{
template:`<div>
<h1>这是index页面</h1>
</div>`,
},
},
// 每一个路由都是一个对象,属性是path:对应的是路径
// component:里面是template 里的内容将会挂载到页面上。
{
path:"/home",
component:{
template:`<div>
<h1>这里是home页面</h1>
</div>`,
}
}
];
// 生成VueRouter示例
const router_obj = new VueRouter({
routes:routes
});
var app = new Vue({
el:"#d1",
data:{},
router:router_obj // 将路由实例挂载到Vue实例中
})
</script>
</html>
路由的模糊匹配:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="d1">
<router-link to="/user/清秋?age=17">清秋页面</router-link>
<router-link to="/user/小白?age=17">小白页面</router-link>
<!-- ?后跟的会存到一个query中,后面只需要从query中调取就可以了-->
<hr>
<router-view></router-view>
</div>
<script src="vue.js"></script>
<script src="VueRouter.js"></script>
<script>
const routes = [
{
path:"/user/:name",
// :后跟的就是模糊查询的,类似于正则
component:{
template:`<div>
<h1>这里是{{$route.params.name}}的主页页面!</h1>
<p>他{{$route.query.age}}岁</p>
</div>`,
}
},
];
//生成VueRouter实例
const router_obj = new VueRouter({
routes:routes
});
var app = new Vue({
el:"#d1",
data:{},
router:router_obj //将路由实例挂载到Vue实例中
})
</script>
</body>
</html>
子路由:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="d1">
<router-link to="/index/qingqiu">清秋的主页</router-link>
<hr>
<router-view></router-view>
</div>
<script src="vue.js"></script>
<script src="VueRouter.js"></script>
<script>
const routes = [
{
path:"/index/:name",
component:{
template:`<div>
<h1>这里是{{$route.params.name}}的主页</h1>
<hr>
<router-link to="info" append>他喜欢的music</router-link>
<hr>
<router-view></router-view>
</div>`,
// 在父路由里写上子路由的的链接 标签属性里加上append:可以在原有路径的后面追加路径信息
},
children:[
{
path:"info",
component:{
template:`<div>
<h1>忘记时间</h1>
<p>沉默着,走了有,多遥远</p>
</div>`,
}
}
],
},
];
const router_obj = new VueRouter({
routes:routes
});
var app = new Vue({
el:"#d1",
data:{},
router:router_obj,
})
</script>
</body>
</html>