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