es6 vue 分组 某个共同字段_浅谈vue 多个变量同时赋相同值互相影响

本文探讨了在Vue项目中遇到的问题:当在dialog中使用Element-UI的Tabs组件,动态渲染列表并使用radio时,如何在取消操作中恢复初始状态。关键在于理解JavaScript对象赋值的引用特性。解决方案包括使用JSON.parse(JSON.stringify())或ES6的扩展运算符。文章还介绍了Vue中导入和导出变量的方法,并提供了代码示例。
摘要由CSDN通过智能技术生成

首先,该项目用到了element-ui中的Tabs 标签;然后来龙去脉是酱紫的:

一个项目中需动态渲染一个列表billItemLIsts,列表中包含n组小列表,其中小列表的state_pj用于改变该小列表中的radio,于是:

  • {{subitem.title}}:

    计费

    不计费

那么现在列表效果达到了,然鹅这个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 多个变量同时赋相同值互相影响就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值