Eckige 2 - *ngif nicht erfrischend, wenn variable update von oberservable abonnieren

in der html habe ich die Warnung sollte nur gezeigt werden, wenn ein Fehlerzustand Auftritt, wie 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>

diese funktioniert einwandfrei. aber wenn ich den Wert aus einem beobachtbaren die ngIf nicht den aktualisierten Wert.

Hier der vereinfachte code, der setzt immer error auf true für die Prüfung purposses

export class createProjectComponent {
    constructor(private service:ProjectsService){

    }

    model = new myModel();
    error = false;
    submitForm(){    
        this.service.createProject(this.model).subscribe(i=>{
            this.error=true;
          }
    }

gibt es irgendeine Art der Benachrichtigung, die ich anstoßen müssen?

  • Was ist this.service.createProject(this.model) tun? Sind Sie mit einigen nicht-Angular2 Bibliothek gibt?
  • derzeit macht er nichts und gibt nur eine beobachtbare (kein Fehler) . Und ich habe auch ausgetestet, dass die error-Eigenschaft auf true festgelegt ist . Ich nehme an, es hat zu tun mit irgendeiner Art von hintergrund-task, rxjs schafft
  • Können Sie reproduzieren, in Plunker?
  • Dein code sieht gut aus. Ich auch *ngIf wie Sie und es sollte funktionieren. Sie zu Unrecht verwenden subscribe(). Versuchen .subscribe( data => {}, error => {this.error =true});
  • er ist nicht falsch von mit .abonnieren Sie, wie er es Tat. Er hat einfach nicht den Fehler behandeln 😉
  • Bitte erstellen Sie eine Plunkr. Ich habe versucht zu machen, ist hier : plnkr.co/Bearbeiten/c64OLrDKJldBkoRqY8Jr?p=Album Vorhören und nichts ist falsch (2s warten und du wirst sehen der Fehler). Denke, vielleicht etwas mehr relevanten code.
  • Ich weiß, dass es funktionieren sollte. Ich verstehe einfach nicht, warum er versucht, behandeln Fehler in "erfolgreiche", callback 😛
  • ach ich wusste nicht einmal, Fokus auf variable name haha.
  • es wurde nur zum testen Dinge aus 🙂

InformationsquelleAutor Boas Enkler | 2016-11-23
Schreibe einen Kommentar