vue-router 基本使用、通俗易懂①

一、vue-router 的理解

        vue 的一个插件库,专门用来实现 SPA 应用

二、对 SPA 应用的理解 

        1. 单页 Web 应用(single page web application,SPA)。

        2. 整个应用只有一个完整的页面。

        3. 点击页面中的导航链接不会刷新页面,只会做页面的局部更新。

        4. 数据需要通过 ajax 请求获取

三、路由的理解

1. 什么是路由?

        1. 一个路由就是一组映射关系(key - value)

        2. key 为路径, value 可能是 function 或 component

2. 路由分类

        1. 后端路由:

                1) 理解:value 是 function, 用于处理客户端提交的请求。

                2) 工作过程:服务器接收到一个请求时, 根据请求路径找到匹配的函数来处理请求,

                返回响应数据。

        2. 前端路由:

                1) 理解:value 是 component,用于展示页面内容。

                2) 工作过程:当浏览器的路径改变时, 对应的组件就会显示。

四、基本路由

        介绍了路由的基本概念之后,话不多说,上demo

        效果展示图:

        需求:在不刷新页面的前提下,实现单页面内容的切换          

        

1、基本使用

1)安装vue-router,命令:

npm i vue-router

如果使用vue2的小伙伴,这里需要指定vue-router的版本,vue2引入的版本为3 。

npm i vue-router@3

2)编写router配置项:

在 src目录下创建router文件,在router文件下面创建index.js文件

routes:路由的集合,管理一对一对的路由。

path:路由的路径(相当于路由的key)。

component:路径对应的组件,可以理解为要显示的页面(对应路由的value) 。

//该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'

//引入组件
import About from '@/components/About'
import Home from '@/components/Home'

//创建并暴露一个路由器
export default new VueRouter({
    routes:[
        {
            path:'/about',
            component:About
        },
        {
            path:'/home',
            component:Home
        }
    ]
})

这里记得编写About.vue和Home.vue组件

About.vue:

<template>
  <div class="container">
    <h2>我是About的内容</h2>
  </div>
</template>

<script>
export default {
    name:'About',
}
</script>

Home.vue: 

<template>
  <div class="container">
    <h2>我是Home的内容</h2>
  </div>
</template>

<script>
export default {
    name:'Home'
}
</script>

 3)在main.js引入、使用vue-router

import Vue from 'vue'
import App from './App.vue'
//1、引入VueRouter
import VueRouter from 'vue-router'
//2、引入刚刚编写的路由器
import router from './router'

Vue.config.productionTip = false
//3、使用VueRouter
Vue.use(VueRouter)

new Vue({
  render: h => h(App),
  router //4、配置router
}).$mount('#app')

4)编写app.vue

<router-link>: Vue中借助ruoter-link标签实现路由的切换。

        to:表示router-view要展示的内容对应的路径(路由的key),这里的内容可以理解为组件,

也就是上面在router/index.js文件夹下配置的路由项。

        active-class:可配置高亮的样式。

<router-view>:指定路由的呈现位置。

<template>
  <div id="container">
    <div class="row">
      <div class="col-xs-offset-2 col-xs-8">
        <div class="page-header"><h2>Vue Router Demo</h2></div>
      </div>
    </div>
    <div class="row">
      <div class="col-xs-2 col-xs-offset-2">
        <div class="list-group">
          <-- Vue中借助ruoter-link标签实现路由的切换 -->
          <router-link class="list-group-item" active-class="active" to="/about" >About</router-link>
          <router-link class="list-group-item" active-class="active" to="/home" >Home</router-link>
        </div>
      </div>
      <div class="col-xs-6">
        <div class="panel">
          <div class="panel-body">
            <-- 指定路由的呈现位置 -->
            <router-view></router-view>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>

export default {
  name: 'App',
}
</script>

<style>

</style>

到这里一个路由的基本使用就完成了,兄弟们快动手试一试。 

 

 

HZJ,一个在学习路上匍匐前行的小菜鸟...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值