【发布时间】:2020-02-05 17:52:45
【问题描述】:
我正在尝试根据服务结果显示和隐藏 HTML 元素。我正在使用*ngIf="messageService.getData() | async",但它无法显示或隐藏元素。我正在使用异步,否则会在短时间内显示“失败消息”,然后显示“成功消息”。
我有 2 个这样的标签:
<div *ngIf="messageService.getData() | async">Successful Message</div>
<div *ngIf="!messageService.getData() | async">Failure Message</div>
在服务中我有这样的代码:
export class MessageService {
constructor(private http: HttpClient) { }
public getData() {
return this.http.get("https://jsonplaceholder.typicode.com/todos/1")
.pipe(
map((response) => {
console.log("success");
}),
catchError(this.handleError)
)
}
private handleError(error: Response) {
console.log("handleError")
let errMsg: string;
errMsg = "error"
return Observable.throw(errMsg);
}
}
【问题讨论】:
标签: javascript html angular typescript observable