Boa*_*ler 14 javascript rxjs angular
在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>
Run Code Online (Sandbox Code Playgroud)
这很好用.但是当我从一个observable设置值时,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;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么样的通知我必须触发?
Gün*_*uer 27
如果这可以解决您的问题,您可以尝试:
constructor(private cdRef:ChangeDetectorRef) {}
submitForm(){
this.service.createProject(this.model).subscribe(i=>{
this.error=true;
this.cdRef.detectChanges();
}
}
Run Code Online (Sandbox Code Playgroud)
如果确实存在,那么会有一些代码this.service.createProject(this.model)导致执行离开Angulars区域.
更新
如果您()=>在任何地方使用而不是function ()并且如果您不仅仅通过名称传递函数,someFunc(mycallback)而是使用someFunc(() => mycallback())或传递函数,则不需要此someFunc(mycallback.bind(this))
| 归档时间: |
|
| 查看次数: |
14767 次 |
| 最近记录: |