【Vue2.0学习】—路由(六十五)

简介: 一个路由(route)就是一组映射关系,多个路由需要路由器进行管理

【Vue2.0学习】—路由(六十五)

一、路由

  • 理解:一个路由(route)就是一组映射关系,多个路由需要路由器进行管理
  • 前端路由:key是路径, value是组件

二、基本使用

  • 安装vue-router,命令:npm i vue-router
  • 应用插件:Vue.use(VueRouter)
  • 编写router配置项
//该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
import Home from '../components/Home.vue'
import About from '../components/About.vue'
//创建并暴露路由
export default new VueRouter({
    routes: [{
        path: '/about',
        component: About
    }, {
        path: '/home',
        component: Home
    }]
})
  • 实现切换:active-class可配置高亮显示

2345_image_file_copy_36.jpg

  • 指定展示的位置: 

2345_image_file_copy_37.jpg

Demo演示:

<template>
   <div>
    <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中借助router-link实现标标签的跳转 -->
          <router-link class="list-group-item" to="/about" active-class="active">About</router-link>
          <router-link class="list-group-item" to="/home"  active-class="active">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>
    import Home from './components/Home.vue'
    import About from './components/About.vue'
    export default {
        name: 'App',
        components: {
            Home,
            About
        }
    }
</script>
<style>
</style>
//该文件专门用于创建整个应用的路由器
import VueRouter from 'vue-router'
import Home from '../components/Home.vue'
import About from '../components/About.vue'
//创建并暴露路由
export default new VueRouter({
    routes: [{
        path: '/about',
        component: About
    }, {
        path: '/home',
        component: Home
    }]
})
//该文件是整个项目的入口文件
//引入Vue
import Vue from 'vue'
//引入APP组件,它是所有组件的父组件
import App from './App.vue'
//引入VueRouter
import VueRouter from 'vue-router'
//引入路由器
import router from './router'
// 关闭Vue生产提示
Vue.config.productionTip = false
Vue.use(VueRouter)
//将APP组件放入容器中
new Vue({
    render: h => h(App),
    router
}).$mount('#app')

2345_image_file_copy_38.jpg

2345_image_file_copy_39.jpg

三、几个注意点

  • 路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹。
  • 通过切换,隐藏了路由组件,默认是被销毁的,需要的时候再去挂载。
  • 每个组件都有自己的$route属性,里面存储着自己的路由信息。
  • 整个应用只有一个router,可以通过组件的$router属性获取到。

四、嵌套(多级)路由

2345_image_file_copy_40.jpg

2345_image_file_copy_41.jpg

跳转(要写完整的路径):

 <router-link class="list-group-item active" active-class="active" to="/home/message">Message</router-link>

五、路由传参

2345_image_file_copy_42.jpg

2345_image_file_copy_43.jpg

六、路由命名

作用:简化路由的跳转

如何使用?

2345_image_file_copy_44.jpg

简化跳转

2345_image_file_copy_45.jpg

七、路由的params参数

2345_image_file_copy_46.jpg

传递参数

2345_image_file_copy_47.jpg

注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用 name配置。

接收参数:

$route.params.id
$route.params.title

八、的replace属性

  • 作用:控制路由跳转时操作浏览历史记录的模式
  • 浏览器的历史记录有两种写入方式:分别是push和replace,push是追加历史记录,replace是替换当前记录,路由跳转的时候默认为push
  • 如何开始replace模式:News
相关文章
|
25天前
|
JavaScript 前端开发 开发者
Vue.js 框架大揭秘:响应式系统、组件化与路由管理,震撼你的前端世界!
【8月更文挑战第27天】Vue.js是一款备受欢迎的前端JavaScript框架,以简洁、灵活和高效著称。本文将从三个方面深入探讨Vue.js:响应式系统、组件化及路由管理。响应式系统为Vue.js的核心特性,能自动追踪数据变动并更新视图。例如,通过简单示例代码展示其响应式特性:`{{ message }}`,当`message`值改变,页面随之自动更新。此外,Vue.js支持组件化设计,允许将复杂界面拆分为独立且可复用的组件,提高代码可维护性和扩展性。如创建一个包含标题与内容的简单组件,并在其他页面中重复利用。
50 3
|
23天前
|
JavaScript API
vue 批量自动引入并注册组件或路由
vue 批量自动引入并注册组件或路由
|
27天前
|
缓存 JavaScript
vue的多路由项目开发,您还在手动拼接路由名?
【8月更文挑战第20天】vue的多路由项目开发,您还在手动拼接路由名?
43 1
vue的多路由项目开发,您还在手动拼接路由名?
|
1月前
|
JavaScript
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
这篇文章详细介绍了Vue路由中的query参数、命名路由、params参数以及props配置的使用方式,并通过实际项目案例展示了它们在开发中的应用和测试结果,同时解释了`<router-link>`的`replace`属性如何影响浏览器历史记录。
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
|
1月前
|
缓存 JavaScript 数据安全/隐私保护
Vue学习之--------路由守卫(2022/9/6)
这篇文章详细介绍了Vue路由守卫的概念和应用,包括全局守卫、独享守卫和组件内守卫的实现方法,并通过实际代码示例和测试效果展示了如何对路由进行权限控制,以及Vue路由器的两种工作模式:hash模式和history模式。
Vue学习之--------路由守卫(2022/9/6)
|
1月前
|
存储 JavaScript 前端开发
Vue学习之--------路由(Router)的基本使用(1)(2022/9/5)
这篇文章是关于Vue-router路由的基本使用教程,涵盖了安装配置、应用插件、编写路由规则、实现页面跳转和高亮显示,以及一些使用中的注意点和项目实际应用案例。
Vue学习之--------路由(Router)的基本使用(1)(2022/9/5)
|
1月前
|
缓存 JavaScript
Vue学习之--------多级路由的使用(2)(2022/9/5)
这篇文章介绍了在Vue中实现多级路由缓存的方法,包括在路由配置中添加meta属性以启用缓存,使用keep-alive组件包裹需要缓存的视图,以及在Vuex中管理缓存视图列表的逻辑。
Vue学习之--------多级路由的使用(2)(2022/9/5)
|
1月前
|
JavaScript 前端开发 搜索推荐
Vue 路由的hash模式和history模式有什么区别?
在Vue.js框架中,路由管理是单页面应用(SPA)不可或缺的功能。Vue 路由提供了两种模式:hash模式和history模式,这两种模式主要负责处理URL的变更而无需重新加载整个页面,实现前端路由的功能。
101 19
|
30天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
vue 批量自动引入并注册组件或路由等等
|
1月前
|
JavaScript
Vue中router路由的使用、router-link的使用(在项目中的实际运用方式)
这篇文章介绍了Vue中router路由和router-link的使用方式,包括router配置、router-link在模板中的使用,以及实现的导航菜单和页面路由效果。
Vue中router路由的使用、router-link的使用(在项目中的实际运用方式)