html中创建多个学生对象,js 多个对象插入同样的两个值,怎么操作,vue

在vue中data里面有三个对象

data(){

return{

select1:{id:1012589435413},

select1:{id:5487496874987},

NoticeForm:{},

Archives:{},

...... // 多个

}

},

methods:{

setItem(){

let NoticeForm = this.NoticeForm;

NoticeForm.data3 = this.select1.Id;

NoticeForm.data4 = this.select2.Id;

let Archives = this.Archives;

Archives.data3 = this.select1.Id;

Archives.data4 = this.select2.Id;

...... // 多个

}

},

上面的这是最常见的操作,有没有更简便的方法可以实现,尽量不循环

回答

DRY(Don’t Repeat Yourself)原则的目的是减少信息的重复,那怎么做到DRY,那就是代码和逻辑的重用,将代码和逻辑划分为更小的可重用单元,并通过在需要的地方调用代码来使用这些单元代码。不要编写过于冗长的方法,要进行逻辑拆分,并尽量使用现有方法中已经写好的逻辑。

针对你的代码,想要减少代码量,不用循环的话,可以把值写好,用Object.assign浅拷贝。想要再少,那就肯定是循环,循环的本质就是减少代码量

methods:{

setItem(){

let data = {data3: this.select1.Id, data4: this.select2.Id}

Object.assign(this.NoticeForm, data)

Object.assign(this.Archives, data)

//...

[this.NoticeForm, this.Archives, /*...*/].forEach(item => Object.assign(item, data))

}

}

let data = {data3: this.select1.Id, data4: this.select2.Id}

this.NoticeForm={...this.NoticeForm,...data}

this.Archives={...this.Archives,...data}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值