路由
路由:vue-router
vue的核心插件
vue-router.js
根據不同的url訪問不同的頁面
創建單頁面SPA(SINGLE PAGE APPLICATION)應用
例子1
步驟:
1.創建鏈接
2.創建組件
3.配置路由
4.創建路由實例
5.路由實例掛載到vue實例上
<div id='app'>
<!--1.創建鏈接-->
<router-link to='/home'>首頁</router-link>
<router-link to='/user'>用戶頁</router-link>
<!-- 盛放鏈接對應的內容-->
<router-view></router-view>
</div>
<script>
//2.創建組件
var Home={
template:`
<h1>這是首頁</h1>
`
}
var User={
template:`
<h1>這是用戶頁</h1>
`
}
//3.配置路由
const routes=[
{path:'/home',component:Home},
{path:'/user',component:User}
]
//4.創建路由實例
const router=new VueRouter({
routes:routes
})
//5.路由實例掛載到vue實例上
new Vue({
el:'#app',
router:router
})
</script>
例子2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src='js/vue.js'></script>
<script src='js/vue-router.js'></script>
<style>
/*
.router-link-active{
color:red;
}
*/
.active{
color:red;
}
</style>
</head>
<body>
<a></a>
<div id='app'>
<!--1.-->
<router-link to='/home'>首頁</router-link>
<router-link to='/user'>用戶頁</router-link>
<!-- 盛放鏈接對應的內容-->
<router-view></router-view>
</div>
<script>
//2.創建組件
var Home={
template:`
<h1>這是首頁</h1>
`
}
var User={
template:`
<h1>這是用戶頁</h1>
`
}
//3.配置路由
const routes=[
{path:'/',component:Home},
{path:'/home',component:Home},
{path:'/user',component:User}
]
//4.創建路由實例
const router=new VueRouter({
routes:routes,
linkActiveClass:'active'
})
//5.路由實例掛載到vue實例上
new Vue({
el:'#app',
router:router
})
</script>
</body>
</html>
例子3:路由的嵌套
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="js/vue.js"></script>
<script src="js/vue-router.js"></script>
</head>
<body>
<div id="app">
<router-link to='/home'>首頁</router-link>
<router-link to='/user'>用戶頁</router-link>
<router-view></router-view>
</div>
<script>
var Home={
template:`
<h1>這是首頁</h1>
`
}
var User={
template:`
<div>
<h1>這是用戶頁</h1>
<ul>
<li>
<router-link to='/user/regist'>注冊</router-link>
</li>
<li>
<router-link to='/user/login'>登錄</router-link>
</li>
</ul>
<router-view></router-view>
</div>
`
}
var Regist={
template:`
<h1>這是注冊頁</h1>
`
}
var Login={
template:`
<h1>這是登錄頁</h1>
`
}
const routes=[
{path:'/',component:Home},
{path:'/home',component:Home},
{path:'/user',component:User,
children:[
{path:'/user/regist',component:Regist},
{path:'/user/login',component:Login}
]
}
]
/*自己起的*/
const router=new VueRouter({
routes:routes
})
new Vue({
el:'#app',
/*自己起的聯系上一個*/
router:router
})
</script>
</body>
</html>