2017-08-02 45 views
1

我想在定义路由时添加一些自定义数据以进行路由。如何将自定义数据添加到路线?

我该怎么做?

喜欢:

{ 
    path: 'department', 
    component: DepartmentComponent, 

    customdata: { 
    name: 'foo', 
    age: '23' 
    } 
} 

我不想在URL中的自定义数据显示。我只是在内部使用它。

+0

[Angular 2:将数据传递给路由?](https://stackoverflow.com/questions/37157838/angular-2-passing-data-to-routes) –

回答

2

您可以定义自定义数据的路线是这样的:

[ 
    {path: 'inbox', data: {name: 'foo', age: 23}}, 
] 

,读这样的:

export interface Route { 
    path?: string; 
    ... 
    data?: Data; 
} 
+0

'params'是路由属性'angular',还是定制?我可以用我想要的任何房产名称来替换它吗? – novaline

+0

是的,这是路线的属性。您可以按照我所展示的方式指定任何对象。 –

+0

看起来它不是'Route'接口属性。 – novaline

1

我:

class ConversationCmp { 
    constructor(r: ActivateRoute) { 
     r.data.subscribe((p) => { 
       console.log(p); 
     }); 
    } 
} 

这是Route接口上定义按照以下方式进行:

{ path: 'admin', canActivate: [RoleGuard], data: { roles: ['admin'] } } 

我使用它将角色自定义属性添加到路由中,以便只能访问具有特定角色的用户,即我在路由中设置的用户。

相关问题