3. 路由嵌套和参数传递
传参的两种形式:
a.查询字符串:login?name=tom&pwd=123
{{$route.query}}
b.rest风格url:regist/alice/456
{{$route.params}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Vue</title>
<script src="js/vue.js"></script>
<script src="js/vue-router.js"></script>
<style>
.active {
font-size: 20px;
color: #ff7300;
text-decoration: none;
}
</style>
</head>
<body>
<div id="itany">
<div>
<!-- 第1步:使用router-link组件来定义导航,to属性指定链接url -->
<router-link to="/home">主页</router-link>
<router-link to="/user">用户</router-link>
</div>
<div>
<!-- 第2步:router-view用来显示路由内容 -->
<router-view></router-view>
</div>
</div>
<template id="user">
<div>
<h3>用户信息</h3>
<ul>
<router-link to="/user/login">用户登陆</router-link>
<router-link to="/user/regist">用户注册</router-link>
</ul>
<router-view></router-view>
</div>
</template>
</body>
<script>
var Home = {
template: '<h3>我是主页</h3>'
}
var User = {
template: '#user'
}
var Login = {
template: '<h4>用户登陆。。。</h4>'
}
var Regist = {
template: '<h4>用户注册。。。</h4>'
}
const routes = [{
path: '/home',
component: Home
}, {
path: '/user',
component: User,
children: [{
path: 'login',
component: Login
}, {
path: 'regist',
component: Regist
}]
}, {
path: '*',
redirect: '/home'
}
]
const router = new VueRouter({
routes,
linkActiveClass: 'active'
})
new Vue({
el: '#itany',
router
});
</script>
</html>
<template id="user">
<div>
<h3>用户信息</h3>
<ul>
<router-link to="/user/login" tag="li">用户登陆</router-link>
<router-link to="/user/regist" tag="li">用户注册</router-link>
</ul>
<router-view></router-view>
</div>
</template>