2

我想用 Dart 观察 window.location 的变化,但还没有找到怎么做。有没有我可以使用的事件或其他方式来做到这一点?

4

1 回答 1

6

我猜你想要哈希更改时,因为如果 window.location 更改它会加载一个新页面。尝试这个:

import "dart:html";

window.onHashChange.listen((HashChangeEvent e) {
  //Do stuff
});
window.onPopState.listen((PopStateEvent e) {
  //Do stuff
});

PopStateEvent API:http ://api.dartlang.org/docs/releases/latest/dart_html/PopStateEvent.html

每次活动历史条目在同一文档的两个历史条目之间发生变化时,都会向窗口发送一个 popstate 事件。如果被激活的历史条目是由调用 history.pushState() 创建的或受到调用 history.replaceState() 的影响,则 popstate 事件的 state 属性包含历史条目的 state 对象的副本。

https://developer.mozilla.org/en-US/docs/Web/API/Window.onpopstate

于 2013-10-02T23:27:31.007 回答