关于使用Object.assign合并对象

关于使用Object.assign为对象添加字段

基础定义:

在VUE中,常用的为对象添加属性的方式有三种:Vue.set(),this.$set(),Object.assign()。
语法:Object.assign( target,source);
Object.assign()方法用于对象的合并,将所有可枚举属性的值从一个或多个源对象(source)复制到目标对象(target),如果有相同的字段会覆盖掉,没有相同的字段则合并。该方法将返回目标对象。
简单来说,就是当你想为一个原有的对象添加新的属性,且新添加的属性也是可以被监听的,就可以使用这个API。

简单明了的代码示例:
 		const config1 = {
            host: 'localhost',
            port: '1000',
            name: 'root',
            pass: 'root',
            test: 'test'
        }
        const config2 = {
            host: 'http://chenchen.com',
            port: '1103',
            name: 'chenchen',
            pass: 'cute',
            test2: 'test2'
        }
        console.log(Object.assign(config1, config2));

输出为:
在这里插入图片描述
项目运用场景:

reserve() {
    let target= JSON.parse(localStorage.getItem("reserveValue"));
    let source= {
        outTradeNo: this.payParam.outTradeNo
    };
    let reserveVM = Object.assign({},target,source);
    Axios.post("/reserve/toDayReserveConfirm",reserveVM).then(res => {
        if(res.data.ok){
            goUrl("/views/reservSuccess/");
        }else {
            this.showTextToast(res.data.msg);
        }
    });
},

版权声明:本文为m0_44981797原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。