乐趣区

关于Vue路由的一些简单笔记

路由简单来说就是不同的路径调用不同的代码块。
在配置路由之前,首先当然是把他们引进来了:

<script src="garage/vue.js"></script>
<script src="garage/vue-router.js"></script>

要配置一个路由,一共分为两个步骤:

  • 创建路由表
  • 创建 vue 对象

创建路由表

使用以下方式创建一个 router 对象:

let router=new VueRouter();

他接受一个 json 对象,对象里的 key 是 routes 属性:

let router = new VueRouter({
                routes: [
                    {
                        path: '/user', component: {template: '<div> 我是买家, 今天啥也没买 </div>'}
                    },
                    {
                        path: '/company', component: {template: '<div> 我是卖家,今天卖了好几百万的服装 </div>'}
                    }
                ]
            });

path 顾名思义就是路径,component 是一个组件,组件里面必须包含有 template,当然,component 本身也是一个 vue 对象,也可以有 vue 对象的那些属性

创建 vue 对象

let vm = new Vue({
                el: '#div1',
                router
            })

如果我们创建的 router 对象的名字和 router 属性同名,就可以用上面的简写方式。
其实到这里 vue 的路由就算配置好了,接下来的事是需要把他显示在页面上,为此 vue 给我们提供了一个占位符:

<router-view></router-view>

当然我们还需要执行路由的动作:

<router-link to='/user'> 买家平台 </router-link>
<router-link to='/company'> 卖家平台 </router-link>

这个 router-link 的本质就是一个 a 标签,里面的 to 属性必须和上面路由配置表的 path 对上,不然,他也找不到你要 to 哪儿

完整代码:

<!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="garage/vue.js"></script>
    <script src="garage/vue-router.js"></script>
    <script>
        window.onload = function () {
            // 创建路由表
            let router = new VueRouter({
                routes: [
                    {
                        path: '/user', component: {template: '<div> 我是买家, 今天啥也没买 </div>'}
                    },
                    {
                        path: '/company', component: {template: '<div> 我是卖家,今天卖了好几百万的服装 </div>'}
                    }
                ]
            });
            let vm = new Vue({
                el: '#div1',
                router
            })
        }
    </script>
</head>
<body>
    <div id="div1">
        <router-link to='/user'> 买家平台 </router-link>
        <router-link to='/company'> 卖家平台 </router-link>
        <router-view></router-view>
    </div>
</body>
</html>
退出移动版