在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()
参数来传递参数,但这只能在同一路由中使用。