如何使用vuex保持对象的属性状态

时间:2018-05-07 06:27:29

标签: vue.js vuex

我正在试图找出如何以最佳方式解决这个问题。我有一个包含以下数据的页面

data() {
    return {
      game: {
        ball: {
          name: "",
          date: new Date().toISOString().slice(0, 10)
        },
        selectedPlayerIds: []
      }
    };
  }

在此页面上,用户可以开始玩游戏。在同一页面上,我有一个可以添加播放器的组件。 addPlayer功能在我的Vuex播放器商店中。我在这里想知道如何更新selectedPlayerIds或让它成为Vuex状态并仍然是游戏对象的一部分。

我想到的是让游戏对象之外的selectedPlayerIds并在save(saveGame)上合并两个。

addGame(store, payload) {
  // do merge of objects here
  // payload.game and payload.selectedPlayerIds

  axios
    .post("http://localhost:3000/game", mergedGame)
    .then(response => {
        // do something
    })
    .catch(error => {
        // log error
    });
}

但考虑到这一点,即使我加载游戏,用户也可以像添加/删除玩家一样修改它,所以我陷入了同样的困境。

您对此有何看法?我有什么选择?什么是最“正确的方式”?

0 个答案:

没有答案