Vue 路由引入和传参

作者: 一学就会的小天才 | 来源:发表于2021-03-09 11:29 被阅读0次

1、安装vue-router

npm install vue-router

2、在src下创建router文件夹,并在router文件夹中创建index.js文件

image.png

3、在index.js中引入vue和router

import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router)
//获取原型对象上的push函数
const originalPush = Router.prototype.push
//修改原型对象中的push方法
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

// 创建路由, 懒加载形式
const router = new Router({
    mode: "hash", // history 模式
    routes: [{
        path: '/',
        redirect: 'login', // 默认路由
    },
    {
        path: '/login',
        name: 'login',
        component: resolve => require(['../components/login.vue'], resolve) // 指向该模块时,才加载对应的本地资源
    },{
        path: '/home',
        name: 'home',
        component: resolve => require(['../components/home.vue'], resolve),
        children: [ // 嵌套子路由
            {
                path: '/home/batchManagement',
                name: 'batchManagement',
                component: resolve => require(['../view/batch-management.vue'], resolve),
            }
        ]
    }]
})

// 将路由暴露出去
export default router

4、找到src文件中的main.js文件,并引入路由

import router from './router/index.js'; // 路由

new Vue({
  el: '#app',
  router, // 加入路由
  render: h => h(App),
}).$mount('#app')

5、路由的使用,在components文件夹中的创建Helloworld.vue文件

<div class="hello">
    <router-view></router-view>
</div>

以上步骤就可实现基本的路由导向了,下面是路由的二种传参形式

6、第一种,路由上以 ‘?’的形式拼接参数

首先我们在新建立一个路由的时候,在router文件夹下的index.js文件中

import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router)
//获取原型对象上的push函数
const originalPush = Router.prototype.push
//修改原型对象中的push方法
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

// 创建路由, 懒加载形式
const router = new Router({
    mode: "hash", // history 模式
    routes: [{
        path: '/',
        redirect: 'login', // 默认路由
    },
    {
        path: '/login',
        name: 'login',
        component: resolve => require(['../components/login.vue'], resolve) // 指向该模块时,才加载对应的本地资源
    },
    {
        path: '/test',
        name: 'test',
        component: resolve => require(['../components/test.vue'], resolve), // 指向该模块时,才加载对应的本地资源
        query: {'id': 'id'} // 设置需要传过去的参数
    }]
})

// 将路由暴露出去
export default router

7、在components文件夹下创建test.vue文件

在这里我们假设,我们是从login.vue中跳转到test.vue中,这个时候,我们就需要在login.vue文件中这样跳转

<template>
  <div>
  
    <router-link :to="{ path: 'test', query: { id: 'first' } }">乘务管理</router-link>
  </div>
</template>
export default {
  methods: {
    // 这是说使用方法进行跳转
    information(data) {
      this.$router.push({name: 'test', params: {'id': data.id}})
    }
  }
}

8、在test文件中的接收

export default {
  data() {
    return {
      activeName: this.$route.query.id // 接收传来的ID
    };
  }
};

9、第二种,直接‘路由/id’传参,打开router文件夹下的index.js文件

import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router)
//获取原型对象上的push函数
const originalPush = Router.prototype.push
//修改原型对象中的push方法
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}

// 创建路由, 懒加载形式
const router = new Router({
    mode: "hash", // history 模式
    routes: [{
        path: '/',
        redirect: 'login', // 默认路由
    },
    {
        path: '/login',
        name: 'login',
        component: resolve => require(['../components/login.vue'], resolve) // 指向该模块时,才加载对应的本地资源
    },
    {
        path: '/test/:id',
        name: 'test/:id',
        component: resolve => require(['../components/test.vue'], resolve), // 指向该模块时,才加载对应的本地资源
    }]
})

// 将路由暴露出去
export default router

10、在test.vue中接收

export default {
  data() {
    return {
      id: '' // 用来接收传过来的ID值
    };
  },
  mounted() {
    this.id = this.$route.params.id // 接收传来的ID
  }
};

相关文章

  • Vue 路由引入和传参

    1、安装vue-router 2、在src下创建router文件夹,并在router文件夹中创建index.js文...

  • 31.vue传参

    1.vue传参 vue传参使用路由传参params,query,或者使用vuex,localStorage,vue...

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

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

  • vue - 路由带参跳转

    vue路由传参按照传参方式可划分为params传参和query传参; params传参分为在url中显示和影藏参数...

  • vue-router

    路由安装 路由配置 路由跳转 路由传参-param使用params传参只能使用name进行引入http://loc...

  • 路由传参 query 和 params

    vue路由传参分为两种情况: 一、query和params传参的区别: 1、query传参显示参数,params传...

  • Vue-Router

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

  • vue 路由传参的三种方式

    vue路由传参方式 params query vuex + sessionStore

  • 路由的传参

    路由的传参 下载:npm install vue-router路由的传参:1.查询字符串:/user/regist...

  • vue 页面传参,不通过路由传参

    1,vue 传参,不通过路由传参 1,项目文件结构 2,list.vue 文件 3,... tab1.vue 文件

网友评论

    本文标题:Vue 路由引入和传参

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