Angular RxJs Observable可作为字符串使用,但不能作为接口或类使用

时间:2019-02-10 07:35:35

标签: angular typescript rxjs observable

我的视图不是从Observable 更新,而是从Observable 更新。

  

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”更新并且在视图/浏览器中不显示吗?它编译良好,浏览器调试器未显示任何异常。谢谢。

0 个答案:

没有答案