如果属性中还包含嵌套的属性,如何为现有对象分配多个属性?

时间:2019-05-01 20:29:02

标签: javascript vue.js vuejs2

我的数据包含一个空对象,我想用属性填充该对象。当前看起来像这样:

data: function() {
    return {
        chartData: {}
    }
},

基本上,我想创建以下结构:

data: function() {
    return {
        chartData: {
            labels: ["One", "Two"];
            datasets: [{
                data: ["5", "10"],
                label: "Chart"
            }]
        }
    }
}

这种类似代码的方法在保持反应性的同时成功添加了标签属性和值,但是,我不知道如何添加本身具有嵌套属性的数据集属性

this.chartData = Object.assign({}, this.chartData, { labels: ['One', 'Two']})

我通过阅读https://vuejs.org/v2/guide/reactivity.html来弄清楚这一点,但是,他们还没有显示如何添加具有嵌套属性的属性。

1 个答案:

答案 0 :(得分:0)

这是使用spread syntax构建对象的一种方法:

// Empty chartData
const chartData = {};

// Your two sets of data
const labels = ['One', 'Two'];
const datasets = { datasets: [{ data: ['5', '10'], label: 'Chart'}] };

// Merge the existing chartData, and labels and datasets together
const newChartData = { chartData: { ...chartData, labels: [...labels], ...datasets } };

console.log(newChartData);