如何复制以数组为属性的vue状态对象?

时间:2019-10-28 17:46:07

标签: vue.js vuex

我正在复制vuex状态。该数组结构是这样的:

export const store = new Vuex.Store({
  state: {
    contacts: [
      {
        id: 122345,
        name: "Marko Marki",
        email: "marko@marko.com",
        phones: ["478 8273", "787 7671"],
        avatar: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"
      },
      {
        id: 122346,
        name: "Ivan Ivandi",
        email: "ivan@ivan.com",
        phones: ["787 7671"],
        avatar: "https://avatars0.githubusercontent.com/u/9064066?v=4&s=460"
      },

我正在复制此状态,以将其传递给我的编辑组件以使其工作:

getContactsCopy(state) {
      const copyContacts = state.contacts.map(contact => ({...contact}))
      console.log(copyContacts)
      return copyContacts
    }

...然后回到我的编辑组件中,我将按预期获取此copyContacts数据,但是对于电话阵列中的电话号码,对于其他所有属性(例如名称,电子邮件),我仍然引用了我不想要的原始状态依此类推,我已经复制并取消了编辑模式,原来的状态保持不变,除了电话号码。我该如何复制我的每个对象属性(包括该电话阵列)?

0 个答案:

没有答案