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 相关文章推荐
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
非常棒的10款jQuery 幻灯片插件
Jun 14 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
JavaScript的instanceof运算符学习教程
Jun 08 Javascript
JS关闭窗口时产生的事件及用法示例
Aug 20 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
vue引入swiper插件的使用实例
Jul 19 Javascript
Vue结合后台导入导出Excel问题详解
Feb 19 Javascript
angular2 NgModel模块的具体使用方法
Apr 10 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 Javascript
如何优化vue打包文件过大
Apr 13 Vue.js
在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 不错的学习资料
2009/02/06 PHP
PHP 网页过期时间的控制代码
2009/06/29 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
2017/09/14 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
python定义类self用法实例解析
2020/01/22 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
《在山的那边》教学反思
2014/02/23 职场文书
高中军训第一天感言
2014/03/06 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
音乐幼师求职信
2014/07/09 职场文书
村官个人总结范文
2015/03/03 职场文书