我有关于angulardart和登录流程的结构问题.我有一个服务,它与服务器进行通信,并具有login(),logout(),loggedIn()等方法.这一切都在角度很好地工作,但我正在寻找一种最佳实践方式将登录流程合并到我的应用程序中.
该应用程序要求用户登录.因此,当用户未登录时,我是否会在启动时重新路由到自定义"登录"视图?我还没有登录时切换主index.html的部分内容吗?我会创建一个处理登录的自定义组件吗?
对于这种情况,是否存在共同的角度模式?
我正在将我的应用程序切换到新的路由DSL.具体来说,我想做这样的事情preEnter:
final RouteInitializerFn routes =(Router router, ViewFactory views) {
views.configure({
'chat': ngRoute(
path: '/chat',
// authService.requireState returns a Future<bool>, and may invoke an HttpRequest
preEnter: (RoutePreEnterEvent e) => e.allowEnter(authService.requireState(LOGGED_IN)),
view: 'views/chat.html'),
'login': ngRoute(
path: '',
defaultRoute: true,
view: 'views/login.html')
});
}
Run Code Online (Sandbox Code Playgroud)
这将在模块中配置如下:
value(RouteInitializerFn, routes);
如果你错过了它,我引用一个注射authService内RouteInitializerFn.这是不可能的,因为它RouteInitializerFn是一个函数而不是一个类,所以不能注入任何东西.如果我routes在一个类中封装了这个函数,我不知道如何配置RouteInitializerFn,所以我有点陷入困境.
我的AngularDart项目中有一个角度组件的App布局.我怎样才能改变drawer从应用程序的布局persistent,以temporary在媒体屏幕的变化?
我正在使用Dart 2和AngularDart 5.
⚠我在网上搜索了我的问题,但我找不到满意的答案.
❔ 我的AngularDart应用程序中是否可以解释我需要包含的所有步骤以及使用SCSS样式文件?
我开始使用您可以在这里找到的快速入门应用程序.
谢谢!
[ 更新以重点提问].AngularDart 在很多方面都很好地支持模块化应用程序设计.路线设计也是如此吗?也就是说,
问题:一个应用程序可以有多个RouteInitializer?例如,以下是可能的:
class MyAppModule extends Module {
MyAppModule() { ...
type(RouteInitializer,
// Currently implementedBy takes only one RouteInitializer?
// Here we propose, e.g., to allow a list.
implementedBy:
[MyAppRouteInitializerForFeatureSetA,
MyAppRouteInitializerForFeatureSetB,
MyAppRouteInitializerForFeatureSetC,
]);
...
}
}
Run Code Online (Sandbox Code Playgroud)
使用案例:我正在考虑让我的一些学生参与同一个AngularDart项目,但是(主要是)相互排斥的功能集.理想情况下,我希望他们独立工作(一旦达成"顶级"路由URL前缀).在这种情况下,他们最终会有自己RouteInitializer的.能够在项目子文件夹中"删除",集成时间,而不是将路由初始化复制粘贴到单个类文件中,这将是一件好事.
[问题的原始版本](假设接口名称RouteInitializer不是可能RouterInitializer给出的印象,可以定义多个.)
Router一个Angular Dart应用程序可以关联多少个实例?(我想只有一个.)RouteInitializer?(假设接口名称是RouteInitializer,而不是可能RouterInitializer,给出的印象可以定义多个.RouteInitializer允许多个,那么addRoute name参数的范围是多少?编辑:实际上最后一个问题在分层路由的上下文中具有自己的优点,所以我把它考虑在这里:angulardart-namespace-of-route-names-hierarchical-too.
我在AngularDart组件中有一个文本输入,如下所示:
<input type="email" id="inputFirstName" ng-model="cmp.inputFirstName">
Run Code Online (Sandbox Code Playgroud)
如何在每次组件显示时使文本输入自动对焦?
我尝试设置html5属性自动对焦,但这仅在第一次显示组件时有效.
谁能告诉我是否以及如何在angular2视图模板中使用Dart枚举?
在Typescript中建议将枚举复制到组件范围中.这是有效的,因为javascript中的枚举是一个带有原型的简单实例变量.
但由于dart中的枚举是一等公民,因此无法将它们移动到实例变量中.
提前致谢!
我尝试使用 packagecoverage从我的 Angular Dart 4.0 项目中获取代码覆盖率。
以下步骤是我的工作流程:
pub serve test --port=8081pub run test --pub-serve=8081 --pause-after-loadpub global run coverage:collect_coverage --port=12345 -o coverage.jsonpub global run coverage:format_coverage --packages=.packages-c -i coverage.json -o coverage.report在第5步之后,我会得到一个coverage.json包含一些数据的文件,但我不知道为什么覆盖率报告总是显示每个代码都没有覆盖。
我是否使用错误的流程来获取代码覆盖率?或者有什么更好的方法来做到这一点?
谢谢 !
有我的实验代码:
experiment_component.dart:
import 'package:angular/angular.dart';
@Component(
selector: 'experiment_component',
template: '<h1>{{greeting}}</h1>'
)
class ExperimentComponent {
String greeting = '';
void greet() {
greeting = 'Hello';
}
}
Run Code Online (Sandbox Code Playgroud)
experiment_component_test.dart:
@TestOn('browser') …Run Code Online (Sandbox Code Playgroud) VSCode 和/或插件是否提供键盘快捷键来自动在 Dart 文件中添加导入?在 IntelliJ 和 Android Studio 中,使用 Opt+Enter 可以轻松实现此效果。
在 Flutter 文档中,它使用jsonEncode(),而在 Angular 文档中,它使用json.encode(). 两者之间的区别和首选方式是什么?
angular-dart ×10
dart ×10
flutter ×2
angular ×1
dart-html ×1
dart-webui ×1
enums ×1
html5 ×1
sass ×1
testing ×1