使用服务作为装饰器

时间:2018-09-08 17:25:43

标签: dart angular-dart angular-dart-routing

有没有一种方法可以在加载前检查某些逻辑的路由上做静态装饰器? 例子

具有身份验证装饰器

@Injector()
class Auth{
    Auth(){
        if (isLoggedIn){
        proceed();
    }else{
       showLoginRoute();
    }
   }
}

并使用类似

@Auth()
@Component(
   selector: 'auth-view',
   styleUrls: const ['login_component.css'],
   template:
          '<router-outlet name="dashboard" [routes]="routes.authView_routes"></router-outlet>',
   directives: const [materialDirectives, routerDirectives, coreDirectives],
      providers: const [r.Routes, materialProviders, Auth],
)
class Dashboard{
    ....
}

我知道我想做什么,但是不确定如何完成它。目前,我正在跨多个组件导入服务并进行大量重复,我希望尽可能避免这种情况。

1 个答案:

答案 0 :(得分:0)

Dart不支持TS中的装饰器。

对您来说可能有用的是生成代码,就像在build_valuejson_serializable,...

中所做的那样

https://github.com/dart-lang/build