Angular 2 - 组件属性更改但视图不更新

时间:2016-08-01 16:07:04

标签: javascript angularjs typescript angular setinterval

我试图学习Angular 2.我的理解是视图中的插值项在模型中更新其相应变量时会更新,但是在下面的代码中我没有看到这种行为。



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);
    }   
}




为什么在' currentTime'组件的属性是否更新?

1 个答案:

答案 0 :(得分:3)

我认为应该是:

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