本文主要介绍了 vue 两个组件间值的传递或修改的实现代码, 本文给大家介绍的非常详细, 具有一定的参考借鉴价值, 需要的朋友可以参考下
1, 可以用公共的父组件来实现;
2, 可以在 store.JS 里面在设置公共变量;
3, 也可以用本地存储 localStorage.setItem() 和 localStorage.getItem(), 通过修改本地存储的值和获取修改后的值来实现;
4, 就是父子组件间的值的传递与修改 props, 这里需要注意的是子组件里面不 能直接修改 props 里面接受的值, 需要定义一个中间变量来接受 props 里的值并修改, 通过 $emit 即 this.$emit('checkDisplay',this.displayChild); 来传给父组件
5, 也可以通过路由来传值 query,params,
- a, // 跳转页面并传值
- this.$router.push({
- path:'/index',query:{
- name:'haha'
- }
- })
- // 获取传递过来的数据
- this.$route.query.name
b, 或者是 // 跳转页面并传值
要记住的是 params 只能用 name 跳转, 如果用 path 来传值则传不过去 , 而且这种传值页面刷新后所传值将清空
- this.$router.push({name:'index',params:{name:'nana'}})
- // 获取传递过来的数据
- // 欢迎加入全栈开发交流圈一起学习交流: 864305860
- this.$route.params.name
c, 也可以直接传值
this.$router.push('/index/'+item.name) // 跳转页面并传值, 不过这种传值前提需在路由里面在路径后面添加 "/ 路径 /: 参数名"
this.$route.params. 参数名 // 获取数据
// 欢迎加入全栈开发交流圈一起学习交流: 864305860
但是这种方式会在地址栏显示数据, 不安全
6, 路径地址传值, params,query 是什么?
params:/router1/:id ,/router1/123,/router1/789 , 这里的 id 叫做 params, 及上面方法 c
query:/router1?id=123 ,/router1?id=456 , 这里的 id 叫做 query. 和上面方法 a 同理
当你使用 params 方法传参的时候, 要在路由后面加参数名, 并且传参的时候, 参数名要跟路由后面设置的参数名对应. 使用 query 方法, 就没有这种限制, 直接在跳转里面用就可以.
结语
感谢您的观看, 如有不足之处, 欢迎批评指正.
来源: http://www.qdfuns.com/article/51117/38fd56a41af840014668292d2f082feb.html