路由组件传参:如果在一个页面中,需要根据路由去获得参数,去对页面进行一些逻辑处理,首先可以通过this.$router来获取路由实例的参数,这样页面组件和路由就进行了耦合,为了进行分离,更大程度复用,我们推出了路由组件传参的实现方案:

  • 第一种传参方式为:布尔模式,它适用于有动态路由传参的路由配置中,实现思路为:将路由的参数作为属性来传入到组件中

    <template>
    <div>
    {{ name }}
    </div>
    </template> <script>
    export default {
    props: {
    name: {
    type: String,
    default: 'apple'
    }
    }
    }
    </script>
    <style lang="less" scoped> </style>
    {
    path: '/argu/:name',
    component: () => import('@/views/argu.vue'),
    props: true
    }

    这样随着不同的url里的参数录入,组件都会展示对应的参数数据

  • 第二种传参方式为:对象模式,这种模式适用于普通传统的路由类型,没有参数,实现思路为,直接在组件里定义一个属性,然后路由列表中定义一个路由对象的属性值,默认情况下取的是组件里的默认值,存在各个路由对象下则取对应路由对象的属性值:
<template>
<div class="about">
<h1>This is an about page</h1>
<d>
{{ food }}
</d>
</div>
</template>
<script>
export default {
props: {
food: {
type: String,
default: 'apple'
}
}
}
</script>
{
path: '/about',
name: 'about',
// route level code-splitting
// this generates a separate chunk (about.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "about" */ '@/views/About.vue'),
props: {
food: 'banana'
}
}
  • 第三种传参方式为:函数模式,适合于在传入的属性中,能够根据当前的路由,来做一些处理逻辑,从而设置传入组件的属性值,就是如果URL+参数,实现传递不同的内容给组件,实现逻辑:路由列表中以函数方式同等属性名(food)来获取当前路由实例的指定属性的值:route.query.food,然后组件中定义同名属性以承接路由列表传递的属性值,然后供业务逻辑处理呈现

    

{
path: '/',
name: 'home',
alias: '/home_page',
component: Home,
props: route => ({
food: route.query.food
})
}
  props: {
food: {
type: String,
default: 'apple'
}
}

Vue-admin工作整理(四):路由组件传参的更多相关文章

  1. VueJs(11)---vue-router(命名路由,命名视图,重定向别名,路由组件传参)

    vue-router 上篇文章讲了第一篇vue-router相关文章,文章地址:VueJs(10)---vue-router(进阶1) 一.命名路由 有时候,通过一个名称来标识一个路由显得更方便一些, ...

  2. 从 Vue 的视角学 React(四)—— 组件传参

    组件化开发的时候,参数传递是非常关键的环节 哪些参数放在组件内部管理,哪些参数由父组件传入,哪些状态需要反馈给父组件,都需要在设计组件的时候想清楚 但实现这些交互的基础,是明白组件之间参数传递的方式, ...

  3. Vue(小案例_vue+axios仿手机app)_公共组件(路由组件传参)

    一.前言                    1.公共轮播图的实现                    2.组件传参,公共组件的实现 二.主要内容 1.公共轮播图的实现 (1)分析:当渲染不同的轮 ...

  4. vue路由组件传参

    在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 使用 props 将组件和路由解耦: 取代与 $route 的耦合 const ...

  5. 路由组件传参-props解耦方式(主要)

    在组件中使用 $route 会使之与其对应路由形成高度耦合,从而使组件只能在某些特定的 URL 上使用,限制了其灵活性. 使用 props 将组件和路由解耦: 取代与 $route 的耦合 const ...

  6. vue中的路由传参及跨组件传参

    路由跳转   this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$r ...

  7. vue初始化、数据处理、组件传参、路由传参、全局定义CSS与JS、组件生命周期

    目录 项目初始化 组件数据局部化处理 子组件 父组件 路由逻辑跳转 案例 组件传参 父传子 子组件 父组件 子传父 子组件 父组件 组件的生命周期钩子 路由传参 第一种 配置:router/index ...

  8. vue路由传参及组件传参和组件方法调用

    VUE路由和组件传参 第一种vue自带的路由传参的三种基本方式 1.通过name :id传参 子组件通过$route.name接收参数 { path: '/particulars/:id', name ...

  9. vue组件传参

    一.父子组件的定义 负值组件的定义有两种,我称为常规父子组件和特殊父子组件. 1.1.常规父子组件 将其他组件以import引入用自定义标签接收,在当前组件中component里注册该标签,页面上可以 ...

随机推荐

  1. 2019/4/22 拓扑排序的高效写法. 模板题HDU1285:确定比赛名次

    传送门 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现 ...

  2. BIO, NIO 和 Epoll (转载)

    很好的文章 https://eklitzke.org/blocking-io-nonblocking-io-and-epoll

  3. MySQL主从复制延迟的问题 #M1002#

    MySQL主从复制延迟的问题 #M1002# https://mp.weixin.qq.com/s/NwFGER-qn2xQ5TnG-php1Q 更为糟糕的是,MySQL主从复制在大事务下的延迟.同样 ...

  4. macOS 版微信小助手,支持微信多开、防撤回、远程控制mac、自动回复等等

    微信小助手 GitHub大牛提供的微信小助手是一款插件,该插件具备多开.防撤回.免手机认证登录.自动回复.远程控制自己的 macOS.群发等众多功能 GitHub网址:https://github.c ...

  5. Linux系统(四)LVS集群负载均衡NAT模式

    序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...

  6. vue中loding

    <template> <div class="mf-loading-container" v-show="ifShow"> <im ...

  7. 增长中的时间序列存储(Scaling Time Series Data Storage) - Part I

    本文摘译自 Netflix TechBlog : Scaling Time Series Data Storage - Part I 重点:扩容.缓存.冷热分区.分块. 时序数据 - 会员观看历史 N ...

  8. sping_依赖注入的三种方式

    1.  set注入:通过setxxx()给属性赋值 <!--id是对象--> <!--class是类--> <bean id = "student" ...

  9. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  10. Kafka笔记5(内部工作原理)

    集群成员关系: Kafka使用zookeeper维护集群成员信息,每个broker拥有唯一标识符,这个标识符可以在配置文件里指定也可以自动生成,会注册到Zookeeper的/brokers/ids路径 ...