<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.text{
color: brown;
}
</style>
</head>
<body>
<div id="itany">
<router-link to="/home">首頁</router-link>
<router-link to="/user">用戶頁</router-link>
<router-view></router-view>
</div>
<script src='dist/vue.js'></script>
<script src="dist/vue-router.js"></script>
<script>
//2.創(chuàng)造組件
var Home={
template:`
<h1>這是首頁</h1>
`
}
var User={
template:`
<div>
<h1>這是用戶頁</h1>
<ul>
<li>
//查詢字符串
<router-link to="/User/regist?uname=jack&pack=123">登錄</router-link>
</li>
<li>
<router-link to="/User/login/rose/456">注冊</router-link>
</li>
</ul>
<router-view></router-view>
</div>
`
}
var Regist={
template:`
<div>
<h3>這是注冊頁</h3>
//接收:
<a href="">{{$route.query.uname}}</a>
<a href="">{{$route.query.pack}}</a>
</div>
`
}
var Login={
template:`
<div>
<h3>這是登錄頁</h3>
<a href="">{{$route.params.uname}}</a>
<a href="">{{$route.params.upwd}}</a>
</div>
`
}
//配置路由
const routes=[
{path:'/',component:Home},
{path:'/home',component:Home},
{
path:'/user',
component:User,
children:[
{path:'regist',component:Regist},
{path:'login/:uname/:upwd',component:Login}
]
}
]
//4.創(chuàng)建路由實例
const router=new VueRouter({
routes:routes,
linkActiveClass:'text'
})
new Vue({
el:'#itany',
router:router
})
</script>
</body>
</html>
路由傳參有兩個方式:params 與 query
兩種方式的區(qū)別
1.query要用path來引入,params要用name來引入,接收參數(shù)都是類似的,分別是this.route.params.name。
2.query更加類似于我們ajax中g(shù)et傳參,params則類似于post,說的再簡單一點,前者在瀏覽器地址欄中顯示參數(shù),后者則不顯示