angular - Angular 6:使用带有异步的日期格式管道
问题描述
在我的 Angular 6 组件中,我有一个如下类型的属性Observable<string>
:
dateFormat$: Observable<string>;
在模板中,我绑定dateFormat$
以使用async
管道设置日期格式:
<span>{{data[date.field] | date:(dateFormat$ | async)}}</span>
但是在构建过程中,我收到了构建错误:
'Observable' 类型的参数不能分配给 'string | 类型的参数 不明确的'。类型 'Observable' 不可分配给类型 'string'。
此错误的可能原因是什么,我该如何解决?
解决方案
我晚了,但这个答案可能对其他人有所帮助。我试图获得 async observable 的格式化值,但我遇到了类似的问题。所以我通过创建一个函数来从 BehaviorSubject 获取异步值来解决我的问题,并在这个函数中格式化数据。
value$: Subject<number> = new Subject<number>(99.01);
<span>{{ format(value$) }}</span>
<!-- R$ 99,01 -->
format(observable: BehaviorSubject<number>) {
const frmt = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' });
return frmt.format(observable.getValue());
}
这也可以解决您的问题。
推荐阅读
- node.js - 如何将本地文件附加到嵌入?
- latex - 如何在乳胶中突出显示`\cite`(保留换行符)
- python - 使用 Selenium 处理下拉菜单
- javascript - 试图为 createContext 提供一个包含函数的默认值对象。有什么正确的方法吗?
- visual-studio-code - VSCode 如何决定可以控制点击的内容
- javascript - ReactJS - 反应表中的复选框列不起作用
- google-colaboratory - 具有更多 RAM 的 Google Colab 等价物
- javascript - 为什么我的字段没有在 Javascript for Acrobat 的 setAction 方法中定义?
- python - 根据给定的迭代次数计算 0.0 和 1.0 的步长差
- javascript - Jitsi meet APIpersistnet room with password