javascript - 如何重新初始化(仅)vue 中的部分数据值?

标签 javascript ecmascript-6 vue.js

我知道我们可以像这样重新初始化数据:

function initialData() {
    return {
        is_active: true,
        is_collapsed: true,
        resetable_data: 'value',
        resetable_stat: 4
    }
}

export default {
...
data() {
    return {
        initialData()
    }
},
... 

但我想知道如何才能仅重新初始化一部分数据。我的意思是:

function initialData() {
    return {
        resetable_data: 'value',
        resetable_stat: 4
    }
}

export default {
...
data() {
    return {
        is_active: true,
        is_collapsed: true,
        initialData()
    }
},
... 

有办法做到这一点吗?

最佳答案

尝试Object.assign() :

function initialData() {
    return {
        resetable_data: 'value',
        resetable_stat: 4
    }
}

export default {
...
data() {
    return Object.assign(
        {
            is_active: true,
            is_collapsed: true,
        },
        initialData()
    );
},
... 

Object.assign(target, ...sources)...sources 的属性(在本例中为 initialData() 返回的对象)复制到 target(在本例中为具有 is_activeis_collapsed 的对象),返回目标对象

关于javascript - 如何重新初始化(仅)vue 中的部分数据值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47909626/

相关文章:

javascript - 如何在 Konva js 中渲染矩形周围的圆圈?

javascript - Matter.js:在对象上添加反弹属性

javascript - 使用 javascript 删除尾随逗号时出错

javascript - 在 Vue.Js + GitHub API (octokat.js) 中与 fetch() 作斗争

JavaScript keydown 在 Firefox 上不起作用

javascript - 在没有包装器的情况下将新对象添加到另一个对象

javascript - 在 javascript 中组合 2 个对象并连接值而不覆盖属性

vue.js - Vue 过滤器从 vue 1 迁移到 vue 2

javascript - vue.js 2.0 通信最佳实践

javascript - 当用户放大 map 上的某个区域时,显示来自不同功能的特定数据