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

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

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

时间: 2024-08-25 15:49:27

[前端] VUE基础 (6) (v-router插件)的相关文章

[前端] VUE基础 (5) (过滤器)

一.过滤器 过滤器分为局部过滤器和全局过滤器. 1.局部过滤器 <body> <div id="app"> </div> <script src="./static/vue.js"></script> <script> // 定义App let App = { data() { return { msg: 'Hello World' } }, // 使用msg的时候,使用管道符号传递给filte

[前端] VUE基础 (7) (获取原生DOM)

一.获取原生DOM 我们之前在vue中获取原生的DOM,都是利用document来获取的,不是很方便. vue为我们提供了ref属性,来方便的获取标签. <div ref='div1'></div> <p ref='p1'></p> <Home ref='home1'></Home> 获取标签: this.$refs.div1 //获取ref为'div1'的<div>标签 this.$refs.p1 //获取ref为'p1

前端框架Vue自学之Vue基础语法(二)

终极目标:掌握和使用Vue(全家桶:Core+Vue-router+Vuex) 本博客目的:记录Vue学习的进度和心得(Vue基础语法) 内容:通过官网说明,掌握Vue基础语法. 正文: Vue基础语法 一. 原文地址:https://www.cnblogs.com/xinkuiwu/p/12031107.html

vue-cli3 搭建的前端项目基础模板

基于 vue-cli3 搭建的前端模板,fork 或 clone 本仓库,即可搭建完成一个新项目的基础模板,源码地址,欢迎 star 或 fork 特性 CSS 预编译语言:less Ajax: axios,做了一定的封装,详见 src/services/request.js SVG 雪碧图:采用 webpack 插件 svg-sprite-loader,及 svg 精简压缩工具 svgo 移动 web 的适配方案:引入了 postcss-pxtorem 及 lib-flexible,可以自由地

前端工程——基础篇

# 前端工程--基础篇 > 喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧. 你好,切图仔. 不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗位,虽然身份之争多少有些无谓,但我对这种偏见还是心存芥蒂,酝酿了许久,决定写一个系列的文章,试着从工程的角度系统的介绍一下我对前端,尤其是Web前端的理解. 只要我们还把自己的工作看作为一项软件开发活动,那么我相信读过下面的内容你也一定会有所共鸣. ## 前端,是一种GUI软件 现如今前端可谓包罗万象

vue基础知识之vue-resource/axios

Vue基础知识之vue-resource和axios(三) vue-resource Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery.vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应.也就是说,$.ajax能做的事情,vue-resource插件一样也能做到,而且vue-resource的API更为简洁.另外,vue-resource还提供了

vue,vuex的后台管理项目架子structure-admin,后端服务nodejs,前端vue页面

之前写过一篇vue初始化项目,构建vuex的后台管理项目架子,这个structure-admin-web所拥有的功能 1.vuex来实现状态管理 2.静态页面,未引入后端服务 3.组件是用的是element-ui 4.页面布局是上左右,左右布局使用的弹性和布局flex,左边定宽,右边计算宽度 5.左右的滚动条是相互独立的,去掉body上的滚动条 6.没有业务代码,仅仅是一个静态的vuex的架子 说明:之前使用左侧menu的fixed布局,发现element-ui的弹窗组件不能正常显示,考虑换成f

团队开发前端VUE项目代码规范

团队开发前端VUE项目代码规范 2018年09月22日 20:18:11 我的小英短 阅读数 1658 一.规范目的: 统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致的代码 二.开发SRC目录: 1.Vuex目录 (状态树配置) 2.Router目录(路由配置) 3.Pages目录 (放置主路由组件 注意命名规范) 4.Common目录 (放置静态文件) 5.Config目录 (全局配置项,路由拦截,报错信息,等枚举信息) 6.Api目录 ( 相关全局请求调用配置.

Vue基础学习一

Vue基础一 1.0 前端开发规范 ? 前端开发规范 1.1 vue版本更迭 vue版本 ???-?vue?1.0???2014年 ???-?vue?2.0???2016年 ???-?vue?3.0[?试用版?]?2019年国庆 1.2匿名函数 javascript (function?(形参1,形参2)?{ /?你的代码?/ ?})(实参1,实参2) ???-?好处 ?????-?1.?防止全局作用域 ?????-?2.?防止命名冲突 ?????-?3.?防止一些脚本的攻击 ?????-?4.