Angular Share服务主题绑定问题

时间:2018-12-12 18:34:02

标签: angular typescript

我与主题创建了共享服务:

  totalCostSource$ = new Subject<number>();

  shareCost(cost: number ) {
    this.totalCostSource$.next(cost);
  }

在我的组件中,我有

  private incomeTax: number = 18;
  income: number;

  constructor(private costService: CostService) { }

  ngOnInit() {
    this.costSubsription = this.costService.totalCostSource$.subscribe( cost => {
      this.income = cost * this.incomeTax / 100;
      console.log(this.income); // return proper value
    });
  }

我认为约束收入有问题。 在控制台中,值正确,但视图未刷新。 我该如何解决?

1 个答案:

答案 0 :(得分:0)

@ maciek77 我不确定这是什么原因,因为如果没有模板,调用shareCost的组件,很难分辨任何内容。

请检查:

    shareCost之后调用
  • totalCostSource$.subscribe
  • 如果您使用onPush或变更检测器已脱离,请手动检测变更
  • subscribe实际上返回类型为number的正确值

如果这样做没有帮助,请分享:

  • 使用income的HTML模板
  • 打字稿代码的全部组成部分(同时调用shareCostsubject.subscribe