路由
路由: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>