VUE路由和组件传参

第一种vue自带的路由传参的三种基本方式

1.通过name :id传参

子组件通过$route.name接收参数

{
path: '/particulars/:id',
name: 'particulars',
component: particulars
}
this.$router.push({
path: `/particulars/${id}`,
})

通过p>{{$route.name}}</p>或者this.$route.name获取传参 (备注:刷新数据不会丢失)

p>{{$route.name}}</p>
this.$route.name

2.通过路由属性中的name来确定匹配的路由,通过params来传递参数 以POST方式传参(备注:刷新数据会丢失)

this.$router.push({
path:'particulars',
name: 'particulars',
params: {
id: id
}
})

3.使用path来匹配路由,然后通过query来传递参数,并以GET方式传参数 (备注:刷新数据不会丢失)

this.$router.push({
path: '/particulars',
query: {
id: id
}
})

第二种组件传参及方法调用

1. 通过 props传参

父组件代码

父组件代码
<template>
<div id="box1">
<nav-button :src="src" @credentials="credentials" :isCheck="isCheck" ref="navButton"></nav-button>
</div>
</template> <script>
import NavButton from '../module/NavButton'
export default{
components:{
NavButton,
},
data(){
return {
src:'1',
isCheck:1
}
}
}
</script>

子组件代码

<template>
<div>
<div style="display: flex;margin-bottom:15px;">
{{src}} </div>
</div>
</template>
<script>
import storage from '../../storage'
export default{
name:'NavButton',
props:['src','isCheck'],
watch:{
src(val){
this.src1 = val
},
isCheck(val){
this.isCheck1 = val
},
},
data(){
return {
src1:this.src,
isCheck1:this.isCheck,
}
},
mounted(){
console.log("button mounted")
this.getBtnParmList(this.tabSeq1)
},
methods:{
getBtnParmList(val){
console.log(this.src1)
},
}
}
</script>

子组件调用父组件方法并传参$emit()

this.$emit('feedback',val)  

子组件调用父组件方法$parent

this.$parent.apply()

父组件调用子组件并传参(备注:子组件的ref=“navButton”) 如果不想传参直接去掉就可以了

this.$refs.navButton.getBtnParmList(this.tabSeq)

  $emit()方法

this.$refs.navButton.$emit('getBtnParmList',this.tabSeq)

vue路由传参及组件传参和组件方法调用的更多相关文章

  1. vue路由对不同界面进行传参及跳转的总结

    最近在做一个公众号的商城项目,主要用的VUE+MUI,其实今天这个点对于有过项目经验的前端工作者来说是最基础的,但也是必须要掌握的,今天小编主要是记录下传参和跳转的一些总结(仅供参考). 首先我们先上 ...

  2. vue 父子组件传值以及方法调用,平行组件之间传值以及方法调用大全

    vue项目经常需要组件间的传值以及方法调用,具体场景就不说了,都知道.基本上所有的传值都可以用vuex状态管理来实现,只要在组件内监听vuex就好. vue常用的传值方式以及方法有: 1. 父值传子( ...

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

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

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

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

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

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

  6. vue路由组件传参

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

  7. Vue-admin工作整理(四):路由组件传参

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

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

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

  9. 3种vue路由传参的基本模式

    路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...

随机推荐

  1. Spring Boot 知识清单(一)SpringApplication

    爱生活,爱编码,微信搜一搜[架构技术专栏]关注这个喜欢分享的地方.本文 架构技术专栏 已收录,有各种JVM.多线程.源码视频.资料以及技术文章等你来拿. 一.概述 目前Spring Boot已经发展到 ...

  2. 使用DynamicExpresso实现表达式求值

    之前写了一篇Z.Expressions表达式计算的博客,直到最近才发现Z.Expressions不是免费的.Z.Expressions从2.0开始支持了NetCore,使用一段时期后会提示许可证到期, ...

  3. 纹理_贴图_texture

    详细代码可以在我的GitHub上找文末指定的项目.

  4. a标签包裹div的问题

    示例代码 1 <a href="#"> 2 <div> 3 <a href="#"></a> 4 </di ...

  5. hadoop分布式格式化时出现异常java.net.unknownhostexception

    当搭建好分布式集群后,准备使用命令格式化时 hdfs namenode format 在日志的最后一行出现 java.net.unknownhostexception的异常,通常是你的主机名没有配置好 ...

  6. Python正则表达式 re.sub()函数:标志位flags与参数个数问题

    这两天在写爬虫程序,涉及英文文本处理,需要规范化英文标点符号的写法.正常情况下,英文句号「.」后面需要保证有且只有一个空格,但也有例外情况,比如「i.e.」.「e.g.」.「P.S.」这种.由于无法预 ...

  7. 软件定义网络实验记录①--Mininet 源码安装和可视化拓扑工具

    第一步: 在 Ubuntu 系统的 home 目录下创建一个目录,目录名为自己的标识,包括但 不限于学号.姓名拼音等,目录不要包含中文. 第二步: 在创建的目录下,完成 Mininet 的源码安装. ...

  8. 记录从Winserver2012R2升级到Winserver2019

    升级系统是必不可少的,最近想搞虚拟化Hyper-V:于是着手需要装一台WIN server 2019. 手头有一台Winserver 2012R2,正好拿来测试升级,此博做一个记录. 操作流程:在升级 ...

  9. JavaScript返回当前的时分秒

    要求: 封装一个函数返回当前的时分秒 格式 08:08:08 代码实现: function getTimer() { var time = new Date(); var h = time.getHo ...

  10. 一、Mysql(1)

    数据库简介 人类在进化的过程中,创造了数字.文字.符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,数据量越来越大,对于数据的记录和准确查找,成为了一个重大难题 计算机诞生后,数据开始在计算 ...