我希望在URL更改时调用函数。
在较新版本的Ember中,我们可以通过观察currentPath
来实现。
在这个版本中,我尝试了这个:
Ember.Route.reopen({
enter: function(router) {
console.log('change in URL and need to be called once per change in URL');
}
});
由于存在嵌套路由,因此多次调用此方法。
答案 0 :(得分:2)
如果您使用Ember.HashLocation
,则可以执行此操作,观察lastSetURL
属性:
window.App = Ember.Application.create({
...
urlChanged: function(a,b,c,d) {
var url = this.get('router.location.lastSetURL');
if (!Ember.none(url)) {
alert(url);
}
}.observes('router.location.lastSetURL'),
...
});
的示例