是否可以在Angular 2中创建自定义注释?例如注释@LoginRequired,其中它毕竟检查用户是否记录,如果是,则继续使用该组件。如果用户未登录,则导航到页面错误。
答案 0 :(得分:7)
装饰器或你称之为注释不是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来完成此结果