美文网首页
Vue路由的配置

Vue路由的配置

作者: 暖A暖 | 来源:发表于2020-12-14 11:55 被阅读0次

Vue 路由的配置

什么是路由

Vue 路由是可以通过组件的形式把所有的组件组装成为一个应用程序,当我们需要的时候,将这个组件映射到路由,然后告诉 Vue 我们在哪里渲染它们。路由其实就是我们浏览器的一个地址。

Vue 路由的优缺点

路由的优点:用户体验好,不需要每次都从服务器全部获取,快速展现给用户。

路由的缺点:

  • 不利于 SEO。

  • 使用浏览器的前进,后退键的时候会重新发送请求,没有合理利用缓存。

  • 单页面无法记住之前滚动的位置,无法在前进,后退的时候记住滚动的位置。

当我们加载一个程序时,由于它加载的内容特别多,所以会比较缓慢,但是我们加载完之后,我们到页面里进行切换,它的切换速度会变得特别快。原因是因为我们将所有的程序都放在一个页面里面了,我们将它加载时所有的功能所有的主键都加载到一个页面去了,所以它加载的速度特别慢,但是加载完之后我们再进行后续的操作时,它的切换速度和反应速度会特别快。

路由的安装

Vue.js 路由允许我们通过不同的 URL 访问不同的内容,通过 Vue.js 可以实现多视图的单页 Web 应用,对于大多数单页应用程序,建议使用官方支持的 vue-router 库。

我们可以直接下载路由的 vue-router.js 文件,下载地址:http://unpkg.com/vue-router/dist/vue-router.js

下载后引入到页面中:

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

使用 npm 命令安装路由:

npm install vue-router

如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

路由的使用

我们首先引入要使用到的文件:

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

然后在 Js 中定义组件,下面分别定义了两个名为 Java 和 Python 的组件,template 是模板内容:

const Java = { template: '<span>java</span>' }
const Python = { template: '<span>Python</span>' }

然后定义路由,每个路由应该映射一个组件,例如:

const routes = [
    { path: '/java', component: Java },
    { path: '/python', component: Python }
]

创建路由实例,将定义好的路由添加到实例中:

const router = new VueRouter({
    routes 
})

最后创建 Vue 实例,通过 router 配置参数注入路由:

const app = new Vue({
    el:'#app',
    router  // 通过 router 配置参数注入路由
})

HTML 部分,<router-link> 组件支持用户在具有路由功能的应用中(点击) 导航,to 属性指定目标地址。<router-view> 组件用来渲染通过路由映射过来的组件,当路径更改时组件中的内容也会发生改变:

<div id="app">   
    <p>
        <router-link to="/java">Java</router-link>
        <router-link to="/python">Python</router-link>
    </p>
    <div>我喜欢:<router-view></router-view></div>
</div>

整合后的完整代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue的学习(9xkd.com)</title>
<script src="./src/vue.min.js"></script>
<script src="./src/vue-router.js"></script>
</head>
<body>
    <div id="app">   
        <p>
            <router-link to="/java">Java</router-link>
            <router-link to="/python">Python</router-link>
        </p>
        <div>我喜欢:<router-view></router-view></div>
    </div>
    <script>
        // 定义组件
        const Java = { template: '<span>java</span>' }
        const Python = { template: '<span>Python</span>' }
        
        // 定义路由, 每个路由应该映射一个组件
        const routes = [
            { path: '/java', component: Java },
            { path: '/python', component: Python }
        ]
        // 创建 router 实例
        const router = new VueRouter({
            routes 
        })
        // 创建和挂载根实例
        const app = new Vue({
            el:'#app',
            router  // 通过 router 配置参数注入路由
        })
    </script>
</body>
</html>

在浏览器中演示效果:


router-link的相关属性

<router-link> 组件的相关属性,有如下所示:

  • to 属性:表示目标路由的链接。当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。

  • replace 属性:设置了 replace 属性,当点击时,会调用 router.replace() 而不是 router.push(),导航后不会留下 history 记录。

<router-link :to="/path" replace></router-link>
  • append 属性:设置 append 属性,则在当前 (相对) 路径前添加基路径。例如我们从 /src 导航到一个相对路径 index,如果没有配置 append,则路径为 /index,如果配了,则为 /src/index
<router-link :to="/path" append></router-link>
  • tag属性:可以使用此属性将 <router-link> 渲染成某种标签,例如将之渲染成按钮,可以像下面这样写:
<router-link to="/java" tag="button">Java</router-link>
  • active-class属性:设置链接激活时使用的 CSS 类名(也就是使用 active-class 代替 class)。例如有一个类样式 _active,要在组件上设置这个样式,如下所示:
<router-link :to="/path" active-class = "_active">Java</router-link>
  • event属性:声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。例如下面这个表示当鼠标移动到 Java 上时,HTML 内容发生改变:
<router-link :to="/path" event = "mouseover">Java</router-link>

相关文章

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • Vue 基础 - 前端路由

    使用vue-router实现前端路由 安装vue-router: 配置路由文件,并在vue实例中导入: 设置视图(...

  • Vue-Router路由

    一、Vue路由配置 1、安装 2、引入vue-router并注册路由(以下步骤都在main.js里面) 3、配置路...

  • vue路由配置、跳转、传参

    一、vue路由 1、路由配置文件 (1)在router.js中导入Vue和VueRouter (2)Vue调用Vu...

  • Vue-Router

    1. 路由配置 默认路由跳转 在 new Router时可用的配置参数: 2.路由传参 Vue路由传参的几种方式 ...

  • 使用vue-router切换组件

    https://router.vuejs.org/ vue路由配置:

  • 子路由

    app.vue 路由配置 3.banana

  • vue-cli脚手架中的路由(vue-router)03(子路由

    对于单页面的vue应用,子路由的配置可能是必不可少的,其实vue的子路由配置很简单。这篇文章是基于上一片文章(路由...

  • Vue路由配置

    Vue路由使根组件可以自由的挂载需要的子组件。 路由配置: 一、安装 npm install vue-router...

网友评论

      本文标题:Vue路由的配置

      本文链接:https://www.haomeiwen.com/subject/uokvgktx.html