使用es6中的解构是否有更好的方法来实现这一目标?
searchCreated(searchParams) {
this.regionId = searchParams.region;
this.maxPrice = searchParams.maxPrice;
this.minPrice = searchParams.minPrice;
this.selectedLocalities = searchParams.selectedLocalities;
this.propertyTypeId = searchParams.propertyTypeId;
this.minBeds = searchParams.minBeds;
this.maxBeds = searchParams.maxBeds;
this.minSize = searchParams.minSize;
this.maxSize = searchParams.maxSize;
this.keyword = searchParams.keyword;
this.ber = searchParams.ber;
}
如果所有这些值都是靠自己而不是this
的属性,我就可以了。我只是不确定将一个对象有效地映射到另一个对象的优雅方式
答案 0 :(得分:3)
由于您要将searchParam
的所有属性添加到this
,因此可以使用Object.assign
,它基本上将对象的属性复制到另一个对象。
在您的代码中,它看起来像这样:
searchCreated(searchParams) {
Object.assign(this, searchParams, { // additional object for custom params
region: searchParams.regionId,
customParamName: searchParams.customParam
});
}