浅谈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 Animation实现CSS3动画示例介绍
Aug 14 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
Oct 21 Javascript
jquery实现背景墙聚光灯效果示例分享
Mar 02 Javascript
JS中捕获console.log()输出的方法
Apr 16 Javascript
简单实现的JQuery文本框水印插件
Jun 14 Javascript
Javascript删除指定元素节点的方法
Jun 21 Javascript
JavaScript中关键字 in 的使用方法详解
Oct 17 Javascript
JavaScript组件开发之输入框加候选框
Mar 10 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 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在字符串中查找另一个字符串
2008/11/19 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
JS日期加减,日期运算代码
2015/11/05 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
[01:46]新英雄登场
2019/09/10 DOTA
python对数组进行反转的方法
2015/05/20 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
资产评估专业大学生求职信
2013/09/29 职场文书
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
党的生日活动方案
2014/08/15 职场文书
师德标兵事迹材料
2014/12/19 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang