MUI extend()方法的使用

2017-09-20  本文已影响69人  TIGER_XXXX

1. 使用场景

当我们要封装一个方法时,我们可能需要在方法中设置一些默认值,在调用这个方法时我们传进来的参数又要能够覆盖默认值,这时我们就需要使用extend()方法

2. 使用方法

extend(target,objc1[,objcN]);
extend(deep,target,objc1[,objcN]);

3. 上面两个方法的区别

var target = {
    company: "dcloud",
    product: {
        mui: "小巧、高效"
    }
}
var obj1 = {
    city: "beijing",
    product: {
        HBuilder: "飞一样的编码"
    }
}
mui.extend(target,obj1);
console.log(JSON.stringify(target));

输出

{
    "company": "dcloud",
    "product": {
        "HBuilder": "飞一样的编码"
    },
    "city": "beijing"
}

其中product字段被obj1覆盖了


var target = {
    company:"dcloud",
    product:{
        mui:"小巧、高效"
    }
} 
var obj1 = {
    city:"beijing",
    product:{
        HBuilder:"飞一样的编码"
    }
}
mui.extend(true,target,obj1);
console.log(JSON.stringify(target));

输出

{
    "company": "dcloud",
    "product": {
        "mui":"小巧、高效",
        "HBuilder": "飞一样的编码"
    },
    "city": "beijing"
}

其中product字段合并了

4. 注意

在HBuilder中使用extend()方法时会有一个提示


提示中将deep属性放在了最后
这是错误的,要将deep参数放在最前面,像文档中写的那样,不然最后的结果会按照没有deep参数处理

上一篇 下一篇

猜你喜欢

热点阅读