如何在Angular中内插变量的当前值?

时间:2019-12-02 04:09:12

标签: angular string-interpolation

我的ts文件中包含以下代码:

currentDate;
get_current_date() {
  this.currentDate = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'en');
}

这在ngFor指令的HTML中:

<span class="hist-time">
  {{ currentDate }}
</span>

如何获取currentDate的当前值,以便currentDate在每次更新时将显示不同的日期,而不是同一日期?

示例:

2019-12-02 13:06:01
2019-12-02 13:06:13
2019-12-02 13:06:26
2019-12-02 13:06:51

而不是:

2019-12-02 13:06:01
2019-12-02 13:06:01
2019-12-02 13:06:01
2019-12-02 13:06:01

2 个答案:

答案 0 :(得分:3)

您可以在固定间隔后将当前时间添加到数组中。

尝试这样:

Working Demo

.ts

import { interval } from "rxjs";

currentTime = [];

constructor() {
   this.currentTime.push(new Date());
   interval(10000).subscribe(x => {
     this.currentTime.push(new Date());        
   });
}

.html

<p *ngFor="let time of currentTime"> 
     {{ time | date: 'yyyy-MM-dd HH:mm:ss' }}
</p>

答案 1 :(得分:0)

@Adrita Sharma帖子的修改版本,以防万一您不想打印所有值

import { interval, Observable, of } from "rxjs";

currentTime: Observable<Date>;

constructor() {
   this.currentTime = of(new Date());
   interval(10000).subscribe(x => {
     this.currentTime = of(new Date());        
   });
}

**HTML**
<p>{{currentTime | async | date: 'yyyy-MM-dd HH:mm:ss' }}</p>