在Angular 6组件中,我有一个Observable<string>
类型的属性,如下所示:
dateFormat$: Observable<string>;
在模板中,我绑定dateFormat$
以使用async
管道设置日期格式:
<span>{{data[date.field] | date:(dateFormat$ | async)}}</span>
但是在构建期间,出现构建错误:
类型'Observable'的参数不能分配给参数 类型'string |未定义”。类型“可观察”不是 可分配给“字符串”类型。
此错误的可能原因是什么,我该如何解决?
答案 0 :(得分:0)
我迟到了,但这个答案可能会帮助其他人。我试图获得 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());
}
这也可以解决您的问题。