Angular 2 中的状态参数(Angular 1 和 ui-router)相当于什么?



在Angular 1和ui路由器中,我经常使用状态参数将数据从一个状态传递到另一个状态(不使用URL参数)。在Angular 2中可能吗?

路由器,RouteParams,RouterLink和RouteData似乎无法处理这个问题,例如,我想将用户对象从一个状态传递到另一个

<a ui-sref="home({user: myCtrl.user})">

这在Angular 2中似乎是不可能的。

如果您使用Angular 2路由器,您可以通过@RouteParams传递状态,例如

<a [routerLink]="['/ProductDetail', {id: 1234}]">Product Details</a>

在这种情况下,id是您的状态,它可以是任何对象,例如:

<a [routerLink]="['/ProductDetail', myStateObject]">Product Details</a>

另一方面,Angular 2有一种机制,用于通过绑定到组件的@Input()参数来传递参数,但这只能在同一路由中使用。

最新更新