浅谈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 相关文章推荐
网页的标准,IMG不支持onload标签怎么办
Jun 29 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
JS trim去空格的最佳实践
Oct 30 Javascript
JS调用页面表格导出excel示例代码
Mar 18 Javascript
require.js的用法详解
Oct 20 Javascript
基于JQuery的购物车添加删除以及结算功能示例
Mar 08 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
微信小程序实现倒计时60s获取验证码
Apr 17 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
vue prop传值类型检验方式
Jul 30 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输出时间差函数代码
2013/01/28 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PDO操作MySQL的基础教程(推荐)
2017/08/18 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
JavaScript 实现继承的几种方式
2021/02/19 Javascript
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
Python文件和目录操作详解
2015/02/08 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
Python 去除字符串中指定字符串
2020/03/05 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
关于毕业的中学校园广播稿
2014/01/26 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书