Angular 2 rc 1路由器更改订阅不会收到任何参数

时间:2016-05-23 18:27:09

标签: angular

在Beta 17中,URL被传递给订阅者,如此

_

在rc 1中我认为你必须订阅router.changes发射器但是没有传递参数?         this.router.changes.subscribe(函数(URL){            // url始终为null         } .bind(本)); 是否有其他方式来订阅rc1中的路由器更改

1 个答案:

答案 0 :(得分:1)

我也遇到了这个问题。从查看路由器代码,这是从router.changes()observable返回的内容:

this._changes.emit(null);

换句话说,.changes()会触发一个事件,让您知道路由已更改,但它不会为您提供仅发出null的值,希望这将在将来的版本中更新。作为现在的解决方法,我这样做的方法是订阅可观察的更改,然后检查location.path()以获取当前值:

this.router.changes.subscribe(() => this.state = this.location.path());