vue 基础入门笔记 16:路由的使用和重定向
vue 基础入门笔记 16:路由的使用和重定向
- 使用步骤
- 将vue-router 引入vue下面
- 新建两个组件login组件和register组件
- 新建router对象,注册到vm示例上去
- 路由渲染的两个方式
- a标签
<a href="#/lgoin"></a>
- vue-router提供的
<router-link to='login'></router-link>
(推荐)
- a标签
- 路由激活类 linkActiveClass
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<style>
/* 路由激活类 */
.myActive{
color:red;
background-color: brown
}
</style>
</head>
<body>
<div id="app">
<!-- <a href="#/login">登录</a>
<a href="#/register">注册</a> -->
<router-link to="/login">登录</router-link>
<router-link to="/register">注册</router-link>
<!-- router占位符,路由规则匹配的组件,展示到这里 -->
<router-view></router-view>
</div>
<script>
var login = {
template: '<h1>我是login</h1>'
}
var register = {
template: '<h1>我是register</h1>'
}
// const Foo = { template: '<div>foo</div>' }
// const Bar = { template: '<div>bar</div>' }
// 2. Define some routes
// Each route should map to a component. The "component" can
// either be an actual component constructor created via
// `Vue.extend()`, or just a component options object.
// We'll talk about nested routes later.
// const routes = [
// { path: '/foo', component: Foo },
// { path: '/bar', component: Bar }
// ]
//每个路由规则,都是一个对象,都有两个属性
//属性1:路径 链接地址
//属性2:组件 匹配到path后,展示对应组件
const router = new VueRouter({
routes:[
{path:'/',redirect:'/login'},
{path:'/login',component:login},
{path:'/register',component:register}
],
linkActiveClass:'myActive'
})
// const router = new VueRouter({
// routes // short for `routes: routes`
// })
var vm = new Vue({
el: '#app',
data: {},
methods: {},
//将路由规则对象,注册到vm示例上,用来监听vm地址的变化,然后展示对应的对象
router
});
Vue.config.devtools = true
</script>
</body>
</html>
本作品采用《CC 协议》,转载必须注明作者和本文链接