использовать сервис в качестве декоратора - PullRequest
0 голосов
/ 08 сентября 2018

Есть ли способ сделать статический декоратор на маршрутах, которые проверяют определенные логики перед загрузкой? Пример

есть авторский декоратор

@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 голосов
/ 08 сентября 2018

Dart не поддерживает ничего похожего на декораторы в TS.

Для вас может сработать генерация кода, как это сделано в build_value, json_serializable, ...

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

...