[英]How do perform state changes in my Vue.js page when navigating back through browser history after using `pushState`?
我正在用Vue(我的第一个真正的 Vue项目)编写一个相当简单的搜索页面,并且我设置了以下情况:
window.history.pushState
历史记录。 这有效✅ created
的Vue方法或mounted
被称为。 我理解这可能是有意的,因为这个API的重点是避免页面重新加载,但我想更新页面的状态,以便搜索框和结果与地址栏中的URL匹配。 我找不到办法做到这一点。 ❌ 我没有使用Vue路由器,因为我认为我不需要它。 这是一个单页网站,只有这个搜索。
谢谢!
感谢上面评论中的Slim ,解决方案的确是听取popstate
事件。 我最终在我created
函数中使用了类似的代码:
var vm = this
window.addEventListener("popstate", function(event) {
if (event.state) {
vm.query = event.state.query
} else {
vm.query = ""
}
});
这当然假设我在调用pushState
的状态下传递查询,我已经这样了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.