在订阅方法中设置和获取变量

时间:2018-08-30 09:54:40

标签: angular

我刚刚开始学习Angular,但是我对如何在以下情况下使用它感到困惑。假设service.ts中的响应返回的数字不是0(即应设置自定义错误消息):

service.ts

  errorMessage = "";

  sendData(){
    if(this.register.setRegistrationData(provider, email)){
      //do something
    }else{
      this.errorMessage = this.service.getErrorMessage();
      console.log(this.errorMessage); //Empty
      console.log(this.service.getErrorMessage()); //Empty
      console.log("Catastrophic Failure");
    }
  }

component.ts

<input type="submit" (click)="sendData();" />
<div>{{errorMessage}}</div>

component.html

{{1}}

因此,我了解由于订阅方法的结果,在component.ts中获取errorMessage之后,就完成了service.ts中errorMessage的设置。通过控制台日志对此进行了测试,该控制台日志在打印“灾难性错误”之前给出了两个空行。

将“自定义错误消息”传递到模板的最佳方法是什么?

预先感谢

1 个答案:

答案 0 :(得分:0)

因此,在考虑了我要实现的目标之后,我将订阅方面简单地移到了component.ts上,并让component.ts处理与解决整个问题的错误消息有关的任何事情。

本质上,service.ts应该执行并返回HTTP请求,并带有component.ts订阅并处理逻辑。