欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue组件传递对象中实现单向绑定的示例

时间:2021-08-22 09:48:26|栏目:vue|点击:

当使用vue组件时,组件之间经常需要传递数据,这里不讨论传递一个字符串变量或者数字变量的情况,那些去看官方文档就够了,此处提出我在组件间传递对象时遇到的一个坑。

当组件间传递对象时,由于此对象的引用类型指向的都是一个地址,所以在子组件中修改对象的某个属性值,父组件中的对象对应的属性也会随之改变,如果有这种双向绑定的需要,那么这也算一种不错的办法,但如果不需要这种双向绑定,那就要定义一个新的对象来复制原对象的属性和值,坑就在这里,假如你普通的var、let 一个对象,例如:

computed: { 
  data: function () { 
   let obj={}; 
   obj=this.message//this.message是父组件传递的对象 
   return obj 
 } 
 }, 

将data中各属性分别绑定到输入框中,并修改试试,你会发现父组件中对应的属性值还是会改变,并没有实现单向绑定的效果,这时就需要加一个方法了

computed: { 
 data: function () { 
  let obj=Object.assign({}, this.message); 
  return obj 
 } 
 }, 

这样返回的data就是一个新的对象,并不会指向原对象的地址,所以再对其进行修改就不会对父组件中的对象造成影响了。

上一篇:axios 实现post请求时把对象obj数据转为formdata

栏    目:vue

下一篇:Antd表格滚动 宽度自适应 不换行的实例

本文标题:vue组件传递对象中实现单向绑定的示例

本文地址:http://www.codeinn.net/misctech/168851.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有