我已经在模具中创建了一个Web组件并托管在angular应用中。我想跟踪或触发angular应用程序中的url变化,但是在angular中路由不会触发窗口上的本机hashchange事件。
有什么方法可以触发角度应用程序的网址更改,因为我想捕获Web组件中的网址更改
I have tried below code which is written in stencil to listen for url change but its not getting trigger
@Listen('window:hashchange')
onListHandle (event) {
alert('location: ' + document.location + ', state-hash: ' + JSON.stringify(event.state))
}
@Listen('window:popstate')
onpopstate (event) {
alert('location: ' + document.location + ', state-popstate: ' + JSON.stringify(event.state))
}
答案 0 :(得分:0)
HTML5引入了history.pushState()和history.replaceState() 方法,使您可以添加和修改历史记录条目, 分别。这些方法与 window.onpopstate事件。 Link
示例
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");