Angulaire 2 “il y a le temps” pipe

Je suis en train de créer un temps auparavant,' pipe pour mon Angulaire 2 de la demande.

Il doit transformer une date en une chaîne de caractères tels que "5 minutes" ou "60 secondes auparavant". Il fonctionne très bien, jusqu'à présent, mais elle n'est pas mise à jour après le premier calcul. Si la date donnée est par exemple 5 secondes à peine, il affiche " 5 secondes auparavant, mais il ne change plus par la suite.

J'ai déjà essayé le réglage de l'tuyaux "pure" de la valeur à false mais cela n'a pas aidé.

Voici mon code:

import {Pipe, PipeTransform} from 'angular2/core';

@Pipe({
  name: 'messageTime',
  pure: false
})
export class MessageTimePipe implements PipeTransform {
  transform(value: Date, []): string {
    var result: string;

    //current time
    let now = new Date().getTime();

    //time since message was sent in seconds
    let delta = (now - value.getTime()) /1000;

    //format string
    if (delta < 10) {
      result = 'jetzt';
    } else if (delta < 60) { //sent in last minute
      result = 'vor ' + Math.floor(delta) + ' Sekunden';
    } else if (delta < 3600) { //sent in last hour
      result = 'vor ' + Math.floor(delta /60) + ' Minuten';
    } else if (delta < 86400) { //sent on last day
      result = 'vor ' + Math.floor(delta /3600) + ' Stunden';
    } else { //sent more than one day ago
      result = 'vor ' + Math.floor(delta /86400) + ' Tagen';
    }

    return result;
  }
}

Je suis en utilisant le filtre comme ceci:

Tapuscrit:

import {Component, Input} from 'angular2/core';
import {MessageTimePipe} from '../../pipes/message-time.pipe';

@Component({
  selector: 'message-item',
  pipes: [MessageTimePipe],
  templateUrl: 'build/components/message-item/message-item.component.html'
})
export class MessageItemComponent {
  @Input()
  message: JSON;

  date: Date;

  ngOnInit() {

   this.date = new Date(2016, 3, 16, 12, 49, 10);
  }
}

HTML:

<p class="time">
  {{ date | messageTime }}
</p>
pouvez vous aussi vous montrer comment vous êtes en utilisant ce canal.?

OriginalL'auteur user2611144 | 2016-04-16