问题背景 今天面试的时候,被问到这么个问题.在html5的history情况下,pushstate和replacestate是无法触发pushstate的事件的,那么他是怎么做到正确的监听呢?我当时给懵住了,对哦,这怎么监听的到吗? 于是今晚在旅馆,啊,没电脑啊,只能手机打开google搜索了,好像没搜到,于是我自己去github扒源码了.啊,没带电脑看代码好吃力啊,吐槽下┐('-`:)┌ 源码解析在此 首先,你用router就得用history.push啊replace啊等来操作历史记录,依次