@ngrx/router-store 对比@angular/router

@ngrx/router-store vs @angular/router

使用@ngrx/router-store instead of @angular/router有什么好处和坏处?

这是与现在已弃用的 beta 路由器的比较 https://gitter.im/ngrx/store?at=5710e4fc5cd40114649b9399

the main differences between the component router and ngrx/router are the decisions behind the design. The component router takes a more internal approach when it comes to components if you look at the lifecycle hooks. Our router doesn’t require that the router hook into your components so any component is routable. Another difference is the use of observables. The component router uses promises to handle its lifecycle, whereas ours uses observables because they lend themselves to more of a reactive approach. Our route/query parameters are observable which makes reusing components when parameters change easier. Our router has more streams available for you to subscribe to and react upon. The overall idea is that the browser URL itself is a stream and we are turning that stream into a view of rendered routes. Both routers have a concept of lazy loading, protecting routes, resolving data and lifecycle events. Both still have gaps that need to be filled. If you prefer a more observable approach, our router works very nicely with that.

新的 angular2 路由器将更接近今天的 ngrx/router,所以如果您现在使用已弃用的 beta 路由器,请继续使用直到新路由器发布,然后再迁移。如果您是白手起家,我会说使用 ngrx/router,因为一旦新路由器准备就绪,它会提供一个相对容易的迁移路径。