dart - 使用服务作为装饰器
问题描述
有没有办法在加载前检查某些逻辑的路由上做一个静态装饰器?例子
有一个授权装饰器
@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{
....
}
我知道我想做什么,但只是不知道如何完成它。目前我正在跨多个组件导入服务并进行大量重复,我希望尽可能避免这种情况。
解决方案
Dart 不支持 TS 中的装饰器之类的东西。
可能对您有用的是代码生成,就像在build_value
, json_serializable
, ...
推荐阅读
- jenkins - 当詹金斯没有响应时如何自动重启詹金斯
- sql-server - Convert Month Days Into Weekdays Per Week In SQL
- tensorflow - 无法从“tensorflow.python.eager.context”导入名称“get_config”?
- json - Flutter从json文件播放音频文件
- java - 使用 AlertDialog,如何将选择文本的顶部与复选框对齐?
- javascript - 如何使样式不修改外部包样式?
- c++ - 向量 pop_back 导致堆缓冲区溢出错误
- javascript - 为什么我不能在侧边栏和导航栏之间切换?
- react-native - 世博会开发客户端应用程序未打开
- node.js - 无法从 Node js 应用程序导入 mgt 元素