我按照flutter docs中的建议将l10n添加到我的flutter应用程序中,建议使用如下静态方法获取本地化:
static DemoLocalizations of(BuildContext context) {
return Localizations.of<DemoLocalizations>(context, DemoLocalizations);
}
Run Code Online (Sandbox Code Playgroud)
这在运行应用程序时工作正常,但是当我尝试测试我的小部件时,返回的值始终为空。
有没有什么简单的方法可以在测试中提供本地化?
现在我正在通过 DI 进行本地化,但这是一个相当大的开销。
我真的很喜欢该指令的语法*ngFor。您可以迭代数组的所有元素。
我想用管道的结果来实现同样的效果。例如async管道。当async我将管道放置在模板中使用可观察结果的属性的任何位置时,我正在进行大量订阅,并且我的模板中充斥着类似{{(someObservable$ | async)?.propertyName}}. 有没有办法像这样简单地将管道的当前结果绑定到模板输入变量?
<div let="currentValue = someObservable$ | async">
{{currentValue?.foo}}, {{currentValue?.bar}}
...
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试将此与 结合使用*ngIf,但这似乎不是有效的模板表达式:
<div *ngIf="let currentValue = someObservable$ | async">
{{currentValue?.foo}}, {{currentValue?.bar}}
...
</div>
Run Code Online (Sandbox Code Playgroud) 我想知道如何在 flutter 小部件测试中尚未完成未来的情况下测试案例。
只要未来未解决,小部件就应该显示一个微调器。
我试过这个测试用例:
testWidgets(
'should show a spinner when loading',
(WidgetTester tester) async {
when(valueRepository.getValues())
.thenAnswer((_) => Future.delayed(Duration(seconds: 30), () => []));
await tester.pumpWidget(withApp(ValueListPage(
valueRepository: valueRepository,
)));
await tester.pumpAndSettle(
Duration(seconds: 10), EnginePhase.build, Duration(minutes: 1));
expect(find.byType(CircularProgressIndicator), findsOneWidget);
},
);
Run Code Online (Sandbox Code Playgroud)
结果:未来解决,期望落空。
注意:withApp 初始化一个带有本地化的应用程序。因此,我必须打电话tester.pumpAndSettle()等待 l10n。
我刚刚安装了rxjs 5 beta 3 npm i rxjs@5.0.0-beta.3.
我有以下示例代码:
import {Observable} from "rxjs"
new Observable(o => o.next(42)).filter(() => true);
Run Code Online (Sandbox Code Playgroud)
例如,当使用ts-node时,此代码编译得非常好.
但是当在IntelliJ IDEA中查看此代码时,filter()找不到运算符.
在Observable实例上使用运算符时,也找不到它们.
建议的静态成员Observable是:
create()if()throw()一个实例的建议成员Observable是:
_isScalar()forEach()lift()subscribe()我还试图只导入我需要的东西,但我的IDE仍告诉我filter()Observable实例上不存在:
import {Observable} from "rxjs/Observable"
import "rxjs/add/operator/filter"
new Observable(o => o.next(42)).filter(() => true);
Run Code Online (Sandbox Code Playgroud)
有关如何让IntelliJ IDEA了解运营商的任何建议吗?