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

<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>

逸轩
8 声望1 粉丝

我也想成为大佬啊