浅谈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 捕获窗口关闭事件
Jul 26 Javascript
JavaScript访问样式表代码
Oct 15 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
Oct 20 Javascript
面向对象Javascript核心支持代码分享
May 23 Javascript
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
Javascript 制作图形验证码实例详解
Dec 22 Javascript
EasyUI创建人员树的实例代码
Sep 15 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
js的对象与函数详解
Jan 21 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
JavaScript多种滤镜算法实现代码实例
Dec 10 Javascript
javascript实现拼图游戏
Jan 29 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新手上路(五)
2006/10/09 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
基于php 随机数的深入理解
2013/06/05 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP实现八皇后算法
2019/05/06 PHP
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
js中的replace方法使用介绍
2013/10/28 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
Python跳出循环语句continue与break的区别
2014/08/25 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
Python Selenium库的基本使用教程
2021/01/04 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
自荐信的基本格式
2014/02/22 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
CSS基础详解
2021/10/16 HTML / CSS
MySQL三种方式实现递归查询
2022/04/18 MySQL