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

Shp*_*ink 5 angularjs angular-ui-router angular

在Angular 1和ui-router中,我使用状态参数来将数据从一个状态传递到另一个状态(不使用URL参数).在Angular 2中有可能吗?

Router,RouteParams,RouterLink和RouteData似乎没有处理这个问题,例如我想将用户对象从一个状态传递到另一个状态

<a ui-sref="home({user: myCtrl.user})">
Run Code Online (Sandbox Code Playgroud)

这在Angular 2中似乎不可能.

Yak*_*ain -1

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

<a [routerLink]="['/ProductDetail', {id: 1234}]">Product Details</a>
Run Code Online (Sandbox Code Playgroud)

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

<a [routerLink]="['/ProductDetail', myStateObject]">Product Details</a>
Run Code Online (Sandbox Code Playgroud)

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