我正在试图找出如何以最佳方式解决这个问题。我有一个包含以下数据的页面
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
});
}
但考虑到这一点,即使我加载游戏,用户也可以像添加/删除玩家一样修改它,所以我陷入了同样的困境。
您对此有何看法?我有什么选择?什么是最“正确的方式”?