2016-08-01 23 views
2

Ich versuche Angular 2 zu lernen. Mein Verständnis ist, dass interpolierte Elemente in der Ansicht aktualisieren, wenn ihre entsprechende Variable im Modell aktualisiert wird, jedoch in dem Code unten ich tun sehe dieses Verhalten nicht.Angular 2 - Komponenteneigenschaft ändert sich, aber Ansicht aktualisiert nicht

import { Component, OnInit } from '@angular/core'; 
 

 
@Component({ 
 
    selector: 'ai-header', 
 
    templateUrl: 'app/header/header.component.html', 
 
    styleUrls: ['app/header/header.component.css'], 
 
}) 
 

 
export class HeaderComponent implements OnInit { 
 
    currentTime: Date = new Date(); 
 

 
    getCurrentTime(): void{ 
 
     let dateTime = new Date(); 
 
     let year = dateTime.getFullYear(); 
 
     let month = dateTime.getMonth(); 
 
     let day = dateTime.getDate(); 
 
     let hour = dateTime.getHours(); 
 
     let minute = dateTime.getMinutes(); 
 
     let second = dateTime.getSeconds(); 
 
     dateTime = new Date(year, month, day, hour, minute, second) 
 
     
 
     this.currentTime = dateTime; 
 
    } 
 

 
    ngOnInit(): void { 
 
     setInterval(this.getCurrentTime, 1000); 
 
    } 
 
}

Warum ist eine Aktualisierung der Ansicht nicht, wenn die ‚current‘ Eigenschaft der Komponente aktualisiert wird?

Antwort

3

denke ich es sein sollte:

ngOnInit(): void { 
    setInterval(this.getCurrentTime.bind(this), 1000); 
} 
+0

Das ist die richtige Antwort, und ich werde es so wie bald markiert, wie ich in der Lage bin. Vielen Dank für die schnelle Antwort. Wenn Sie Zeit haben, können Sie Ihre Antwort genauer erklären? –

Verwandte Themen