2016-09-28 133 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/ –