浅谈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 相关文章推荐
JQuery下拉框应用示例介绍
Apr 23 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
Oct 07 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 Javascript
JavaScript实现弹窗效果代码分析
Mar 09 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
使用node.js对音视频文件加密的实例代码
Aug 30 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
Oct 16 Javascript
用JS实现选项卡
Mar 23 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
js基础语法与maven项目配置教程案例
Jul 15 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
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
python3多线程知识点总结
2019/09/26 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
解决margin 外边距合并问题
2019/07/03 HTML / CSS
html5 canvas实现跟随鼠标旋转的箭头
2016/03/11 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
若干个Java基础面试题
2015/05/19 面试题
2014年社区植树节活动方案
2014/02/28 职场文书
目标责任书格式
2014/07/28 职场文书
党员民主评议总结
2014/10/20 职场文书
武侯祠导游词
2015/02/04 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书