码迷,mamicode.com
首页 > 其他好文 > 详细

[前端] VUE基础 (6) (v-router插件)

时间:2020-02-08 00:24:48      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:vue   技术   基础   targe   pat   routes   path   blank   映射   

一、v-router插件

1.v-router插件介绍

v-router是vue的一个核心插件,vue+vue-router主要用来做SPA(单页面应用)的。

什么是SPA:就是在一个页面中,有多个页签,我们选择页签显示不同的内容,但页面不跳转。

例如:

技术图片

 

在网易云音乐的主页中,发现音乐、我的音乐、朋友这三个页签就是单页面应用。当我们切换他们时,可以观察到url的变化:

  技术图片

 技术图片

 技术图片

 这里看到的url改变(路由改变)的路由是vue-router提供的,而不是对应django的路由系统(前后端分离的项目,django只提供API的路由)。

2.下载vue-router

vue-router官方文档:https://router.vuejs.org/zh/

下载vue-router.js:https://unpkg.com/vue-router/dist/vue-router.js

由于vue-router是依赖vue.js库的,所以要先引入vue.js:

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

二、vue-router使用

1.使用vue-router实现页签切换

<body>
<div id="app">
</div>
<script src="./static/vue.js"></script>
<script src="./static/vue-router.js"></script>
<script>
    // 主页组件
    const Home = {
        data() {
            return {}
        },
        template: `
            <div>
                我是Home
            </div>
        `
    }
    // 课程页面组件
    const Course = {
        data() {
            return {}
        },
        template: `
            <div>
                我是Course
            </div>
        `
    }
    // VueRouter实例,其中的routes列表属性中定义具体的路由映射,url-->组件
    const router = new VueRouter({
        routes: [
            {
                path: /,
                component: Home
            },
            {
                path: /course,
                component: Course
            }
        ]

    })
    let App = {
        data() {
            return {}
        },
        // 最前面一个header,提供标签,标签不是<a>标签,而是<router-link>
        // 该标签可以通过to属性的url在routes中匹配到对应的路由,然后找到对应组件,渲染到<router-view>的位置
        template: `
            <div>
                <div class="header">
                    <router-link to = "/">首页</router-link>
                    <router-link to = "/course">课程</router-link>
                </div>
                <router-view></router-view>
            </div>
            `
    }
    var vm = new Vue({
        el: "#app",
        data() {
            return {}
        },
        router,
        template: `
            <div>
                <App></App>
            </div>
        `,
        components: {
            App
        }
    })
</script>
</body>

其中最重要的就是VueRouter实例中的routes的配置,以及App组件中使用<router-link>和<router-view>。还有个最重要的就是,vue实例中的router属性,实际上是router:router(名字相同可以缩写为router)。

实现效果:

技术图片

加上一些简单样式后,效果更明显:

技术图片

 

 

 

 

 

66

[前端] VUE基础 (6) (v-router插件)

标签:vue   技术   基础   targe   pat   routes   path   blank   映射   

原文地址:https://www.cnblogs.com/leokale-zz/p/12275188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!