欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue两个组件间值的传递或修改方式

程序员文章站 2022-06-23 12:34:26
1、可以用公共的父组件来实现; 2、可以在store.js里面在设置公共变量; 3、也可以用本地存储localstorage.setitem()和localstorag...

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'}})
   //获取传递过来的数据
   this.$route.params.name

     c、也可以直接传值

   this.$router.push('/index/'+item.name)  //跳转页面并传值,不过这种传值前提需在路由里面在路径后面添加“/路径/:参数名”
   this.$route.params.参数名            //获取数据

     但是这种方式会在地址栏显示数据,不安全

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方法,就没有这种限制,直接在跳转里面用就可以。

总结

以上所述是小编给大家介绍的vue两个组件间值的传递或修改方式,希望对大家有所帮助