【发布时间】:2016-11-23 08:54:25
【问题描述】:
在 html 中,我只有在出现错误状态时才会显示警告,例如 thius
<div class="alert alert-danger" *ngIf="error">
<strong>Not saved!</strong> There was an error when saving the project. Please try again later.
</div>
这很好用。但是当我从一个可观察的值中设置值时,ngIf 没有得到更新的值。
这里是为了测试目的总是将错误设置为 true 的简化代码
export class createProjectComponent {
constructor(private service:ProjectsService){
}
model = new myModel();
error = false;
submitForm(){
this.service.createProject(this.model).subscribe(i=>{
this.error=true;
}
}
我必须触发某种通知吗?
【问题讨论】:
-
this.service.createProject(this.model)在做什么?你在那里使用一些非 Angular2 库吗? -
目前它什么都不做,只返回一个 observable (没有错误发生)。而且我还调试了 error 属性设置为 true 。我认为它与 rxjs 正在创建的某种后台任务有关
-
你能在 Plunker 中重现吗?
-
您的代码看起来不错。我也像你一样使用了 *ngIf,它应该可以工作。你错误地使用了
subscribe()。试试.subscribe( data => {}, error => {this.error =true}); -
@Kuba 使用 .subscribe 并没有错。他只是不处理错误;)
标签: javascript angular rxjs