angular - Angular RxJs Observable 可用作字符串,但不能用作接口或类
问题描述
我的视图没有从 Observable<class> 更新,而是从 Observable<string> 更新。
ts 文件:status.component.ts
stat$: Observable<string>;
constructor() {
this.stat$ = new Observable(o => o.next('This is status text');
}
模板文件:status.component.html
<span class="status">{{ stat$ | async }}</span>
我在浏览器中得到了想要的结果:
这是状态文本
到目前为止一切顺利,但是:
这是我(新手)尝试使用接口或类而不是纯字符串时遇到的问题 - 例如:
ts 文件:status.model.ts
export interface StatusStruct {
id?: number;
counter?: number;
timestamp?: string;
isCompleted?: boolean;
isError?: boolean;
statusText?: string;
}
文件:status.component.ts
import { StatusStruct } from './status.model';
stSt: StatusStruct;
stat$: Observable<StatusStruct>;
constructor() {
this.stSt = {
id: 1,
counter: 1,
isCompleted: false,
statusText: 'This is status text'
};
this.stat$ = new Observable(o => o.next(this.stSt);
}
在我的模板文件中:status.component.html
<span class="status">{{ stat$.statusText | async }}</span>
您能否解释一下为什么“this.stat$”没有被“this.stSt”更新并且没有显示在视图/浏览器中?它编译得很好,浏览器调试器没有显示异常。谢谢你。
解决方案
推荐阅读
- traffic - 如何让firefox通过mitmproxy连接网页?
- javascript - PhpStorm:YUI Compressor JS 不适用于打字稿
- python - 如何在 Python 中使用 praw 将保存的 reddit 帖子列表抓取到 txt 文件
- python - 如何获取“src=...”的 url?
- machine-learning - 当我们在 PyTorch 张量上调用 cpu().data.numpy() 时会发生什么?
- android - 为什么我不能将数据放入 Firestore?
- powerbi - 使用 DAX 查找 MAX 7 天平均值
- xcode - 视图中缺少设备:在情节提要中
- android - 如何在 service worker 中播放声音甚至在 chrome 中振动?
- java - 如何在另一个布局中嵌入布局?