我面临着一个愚蠢的问题。 在网络应用(我的堆栈是vue + vuex + vue-router)我完全无法将我的商店状态与用户正在查看的页面同步。
当用户触发后退或前进按钮时,它会触发相同的onpopstate
事件,该事件绝对不会提供有关"方向"的信息。或页数。只有状态对象中的数组key
似乎几乎不可行(在去新地方时保存它然后猜测用户在哪里进行)但我甚至不知道"门和#34;对应"键#34;。
所以我从那里开始考虑手动跟踪历史状态键并猜测用户的位置,但我猜它不会交叉兼容,而且还有很重的代码。
这是我的问题:我错过了html5 API中的一些关键元素,我该怎么做(并保持代码/逻辑极简主义)?
提前谢谢!
编辑:重命名标题并添加信息
EDIT2:vuex-router-sync是不合适的,因为它只在vuex端提供路由信息,并没有真正同步路由器状态和存储状态...到坏
P.S。:请不要使用c / p定义,仔细阅读,思考
答案 0 :(得分:1)
onpopstate
在event.state
中提供与应用程序历史记录中相应位置相关的状态对象。
编写应用程序,以便提供此状态对象包含应用程序的整个状态,而不管时间。我建议你阅读State pattern,了解"陈述"意思是,例如
某人或某事物在特定时间进入的特殊情况。
我所做的暗示是,不应该知道应用程序所在历史记录中的相对位置,因为event.state
应该是您的所有应用程序需求确定要渲染的内容。