2017-08-02 74 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'] } } 

我使用它將角色自定義屬性添加到路由中,以便只能訪問具有特定角色的用戶,即我在路由中設置的用戶。

相關問題