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. (转)ServletConfig与ServletContext

    出处:http://blog.csdn.net/cl05300629/article/details/9362601 作者:伫望碧落 一.Servlet配置对象(ServletConfig):Serv ...

  2. org.springframework.beans.factory.BeanCurrentlyInCreationException

    昨天下午的时候,给公司的项目打了个版,发现一直报502错误了,最后在服务器日志上看了一下异常信息,发现报了以下异常信息,导致项目启动就报错了(pc:该项目在我电脑本地启动不报错,之前也没报错). 错误 ...

  3. sping ioc 源码分析(一)-- register(componentClasses) 方法

    一.测试环境的搭建: public class Apple { } @Component public class MyComponet { } public class MyCondition im ...

  4. SQLSERVER如何在子查询中使用ORDER BY

    今天在使用公司的一个pager接口的时候,需要传递一个查询的SQL语句,因为我希望他能够在pager对他查询出来的结果排序之前自己先进行排序, 于是在这个SQL中添加了ORDER BY,但是得到的结果 ...

  5. 晚间测试3 B. 单(single)

    题目描述 单车联通大街小巷.这就是出题人没有写题目背景的原因. 对于一棵树,认为每条边长度为 \(1\),每个点有一个权值\(a[i]\).\(dis(u,v)\)为点\(u\)到\(v\)的最短路径 ...

  6. 【题解】[USACO19DEC]Milk Visits G

    题目戳我 \(\text{Solution:}\) 这题不要把思想局限到线段树上--这题大意就是求路径经过的值中\(x\)的出现性问题. 最开始的想法是值域线段树--看了题解发现直接\(vector\ ...

  7. 【题解】SAC E#1 - 一道难题 Tree

    Problem is here \(\text{Solution:}\) 首先,一眼看出这是最小割,只要叶子节点对汇点\(T\)连接流量为\(inf\)的边就可以一遍最大流搞定了. 剩下的问题在于,如 ...

  8. S3C6410触摸屏驱动分析

    一. device的注册1.0 两个注册//在smdk6410_machine_init中既注册了touchscreen的私有信息也注册了ts资源 1 在arch/arm/mach-s3c64xx/m ...

  9. centos 7.0 更改启动环境/启动进入图形界面/命令行模式

    当前我桌面模式 systemctl set-default multi-user.target ln -sf /lib/systemd/system/multi-user.target /etc/sy ...

  10. 【linux-centos】安装ifstat!

    1.卸载原装ifstat find / -name *ifstat* 把/usr/sbin/ifstat.ifstat的man目录的.gz文件删除 2.下载安装 wget http://gael.ro ...