浅谈vue 多个变量同时赋相同值互相影响


Posted in Javascript onAugust 05, 2020

首先,该项目用到了element-ui中的Tabs 标签;然后来龙去脉是酱紫的:

一个项目中需动态渲染一个列表billItemLIsts,列表中包含n组小列表,其中小列表的state_pj用于改变该小列表中的radio,于是:

<el-tabs tab-position="left" style="max-height:280px;">
  <el-tab-pane v-for="(itema,index) in billItemLIsts" :key="itema.id" :label="itema.title" :value="itema.id">
  <ul class="bill_set_ul">
  <li v-for="(subitem,subindex) in itema.item" :key="subitem.id" :label="subitem.title" :value="subitem.id">
  <div class="el-form-item__label">{{subitem.title}}:</div>
  <div class="el-form-item__content" style="width:200px;margin-left: 100px;">
   <el-radio-group v-model="subitem.state_pj" @change="changeSub(index,subindex)">
   <el-radio :label="chargeIs">计费</el-radio>
   <el-radio :label="chargeNo">不计费</el-radio>
   </el-radio-group>
  </div>
  </li>
  </ul>
  </el-tab-pane>
 </el-tabs>

那么现在列表效果达到了,然鹅这个tab得放到dialog中,且存在取消与确定操作,确定时不用多说,取消时改变了的radio是不会自己变成我们想要的样子,于是乎:

//最终的收费设置数据
billItemLIsts: [], 
 //最终原始的收费设置数据
billItemLIstsOriginal: [],

没错现在billItemLIsts就可以随之怎么操作,因为我们有billItemLIstsOriginal记住了他最初的样子;

接下来就是付诸实际了:

// 取消修改收费设置
cancleChargeSet() {
 this.billItemLIsts = this.billItemLIstsOriginal; 
 if(!this.chargeOpenIs){
 this.chargingFunIs = 1;
 }
  
},

然并卵…

百思不得其解,他并没有发挥自己的作用

这是因为在Object赋值的时候,传递的不是值,而是引用,他们指向了同一个空间!

搞清楚了原因就好下手啦

解决:

1.this.billItemLIsts = JSON.parse( JSON.stringify(this.billItemLIstsOriginal) );

2.或使用 ES6 的解析语法 this.billItemLIsts = { ...this.billItemLIstsOriginal }

补充知识:VUE(ES6) 导出变量、常量,方法

在lib.js文件中, 使用 export{接口} 导出接口, 大括号中的接口名字为上面定义的变量, import和export是对应的;

//lib.js 文件
let bar = "stringBar";
let foo = "stringFoo";

let fn0 = function() {
 console.log("fn0");
};
let fn1 = function() {
 console.log("fn1");
};
export{ bar , foo, fn0, fn1}

//main.js文件
import {bar,foo, fn0, fn1} from "./lib";
console.log(bar+"_"+foo);
fn0();
fn1();

以上这篇浅谈vue 多个变量同时赋相同值互相影响就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js+css实现增加表单可用性之提示文字
Jun 03 Javascript
返回页面顶部top按钮通过锚点实现(自写)
Aug 30 Javascript
indexOf 和 lastIndexOf 使用示例介绍
Sep 02 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
Javascript中的arguments对象
Jun 20 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
Feb 18 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
May 26 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
详解A标签中href=&quot;&quot;的几种用法
Aug 20 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
Aug 05 #Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 #Javascript
vue 限制input只能输入正数的操作
Aug 05 #Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 #Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 #Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
Aug 05 #Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 #Javascript
You might like
帝国cms目录结构分享
2015/07/06 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
js操作二进制数据方法
2018/03/03 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
Python读写文件方法总结
2015/06/09 Python
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
python Django批量导入不重复数据
2016/03/25 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
django API 中接口的互相调用实例
2020/04/01 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
安全标准化汇报材料
2014/02/03 职场文书
策划总监岗位职责
2014/02/16 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
辩护词范文大全
2015/05/21 职场文书
百年孤独读书笔记
2015/06/29 职场文书
保护动物的宣传语
2015/07/13 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫
Go 中的空白标识符下划线
2022/03/25 Golang
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js