在Angular 1和ui-router中,我使用状态参数来将数据从一个状态传递到另一个状态(不使用URL参数).在Angular 2中有可能吗?
Router,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()参数,但这只能在同一路径中使用.