2016-09-28 148 views
1

是否可以在Angular 2中創建自定義註釋?例如@LoginRequired註釋,畢竟它檢查用戶是否記錄,如果是,則繼續使用該組件。萬一用戶沒有登錄導航到頁面錯誤。Angular 2 - 自定義註釋

回答

5

裝飾器或者你稱之爲註釋不是Angular 2本身的一部分,而是TypeScript語言的一部分。

Typescript documentation介紹瞭如何編寫這些裝飾器來裝飾類,方法等。

你可以只定義一個裝飾爲:

export function f() { 
    //do something 
} 

而且以後將其用作:

import { f } from "./your-decorator-module"; 

@f() 
export class MyClass { } 

但是你描述(去到一個錯誤頁面,如果用戶沒有登錄的功能)最好通過爲組件定義一個路由器防護來實現。你可以按照Angular 2 Tutorial on Routing來完成這個結果

+0

PS:更深入的你可以按照http://nicholasjohnson.com/blog/annotations-vs-decorators/ –