Javascript Vuex:是否有一个;“最佳做法”;用于确定是否发生了状态更改?
我的团队和我创建了一个Vuex模块,用于存储表单的用户输入内容。如果表单包含未保存的更改,并且用户试图导航离开,那么我们希望警告用户,以便让他们有机会取消导航 如果我们可以简单地对照一个内置的getter进行检查,那就太好了。可能是这样的:Javascript Vuex:是否有一个;“最佳做法”;用于确定是否发生了状态更改?,javascript,typescript,vue.js,vuejs2,vuex,Javascript,Typescript,Vue.js,Vuejs2,Vuex,我的团队和我创建了一个Vuex模块,用于存储表单的用户输入内容。如果表单包含未保存的更改,并且用户试图导航离开,那么我们希望警告用户,以便让他们有机会取消导航 如果我们可以简单地对照一个内置的getter进行检查,那就太好了。可能是这样的: if (this.$store.getters['myModule/hasChanged']) { // alert user } else { // allow user to proceed } 我们已经讨论过深入观察状态,并在每次发生
if (this.$store.getters['myModule/hasChanged']) {
// alert user
} else {
// allow user to proceed
}
我们已经讨论过深入观察状态,并在每次发生变异时生成一个散列,但质疑这种方法可能带来的性能后果
我们考虑过翻转一个布尔值(无论是在保存表单的组件中还是在状态本身中)来表示是否发生了更改,但同意我们不希望硬编码这样的值
是否有确定给定模块状态是否已更改的最佳实践
谢谢。我建议使用另一种方法:
isChanged
if (this.isChanged) {
// alert user
} else {
// store all inputs to a state
// allow user to proceed
}