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


Posted in Javascript onFebruary 28, 2018

当使用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就是一个新的对象,并不会指向原对象的地址,所以再对其进行修改就不会对父组件中的对象造成影响了。

以上这篇vue组件传递对象中实现单向绑定的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js树形控件脚本代码
Jul 24 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
Apr 24 Javascript
jQuery Mobile 导航栏代码
Nov 01 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 Javascript
jquery删除数据记录时的弹出提示效果
May 06 Javascript
jQuery中html()方法用法实例
Dec 25 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
js实现图片轮播效果学习笔记
Jul 26 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 Javascript
在Vue组件中使用 TypeScript的方法
Feb 28 #Javascript
React组件中的this的具体使用
Feb 28 #Javascript
浅谈Vue网络请求之interceptors实际应用
Feb 28 #Javascript
Node.js中DNS模块学习总结
Feb 28 #Javascript
Vue自定义指令实现checkbox全选功能的方法
Feb 28 #Javascript
如何在vue中使用ts的示例代码
Feb 28 #Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 #Javascript
You might like
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python3.7 pyodbc完美配置访问access数据库
2019/10/03 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
啤酒销售实习自我鉴定
2013/09/24 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
幼儿园老师寄语
2014/04/03 职场文书
海洋科学专业求职信
2014/08/10 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
初三语文教学计划
2015/01/22 职场文书
2014年底个人工作总结
2015/03/10 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
四年级语文教学反思
2016/03/03 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android