浅谈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 相关文章推荐
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 Javascript
JavaScript获取两个数组交集的方法
Jun 09 Javascript
JQuery的attr 与 val区别
Jun 12 Javascript
浅析如何利用angular结合translate为项目实现国际化
Dec 08 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
Jan 04 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 jQuery
原生JS实现的雪花飘落动画效果
May 03 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
Mar 10 Javascript
vuex实现购物车功能
Jun 28 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
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
Yii分页用法实例详解
2014/12/04 PHP
php截取html字符串及自动补全html标签的方法
2015/01/15 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
Python中datetime常用时间处理方法
2015/06/15 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
Keras自定义IOU方式
2020/06/10 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python中最小二乘法详细讲解
2021/02/19 Python
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
MYSQL基础面试题
2012/05/13 面试题
保密工作实施方案
2014/02/24 职场文书
村干部培训方案
2014/05/02 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
社区平安建设方案
2014/05/25 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
mysql自增长id用完了该怎么办
2022/02/12 MySQL
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电