hereに投稿された素晴らしいパイプがあります。イオンRC - グレートアングル2パイプ 'timeAgo'
私はそれがイオン2 RC版で動作させるためにしようとし、これらの3つのエラーを取得しています:
- タイプを「任意の」はコンストラクタ関数のタイプ
- 名「ChangeDetectorRef」を見つけることができませんではありません。エクスポートされたクラスのコンストラクタのパラメータ 'ref'には、プライベートネーム 'ChangeDetectorRef'があります。
プロパティ '間隔' 'typeofを観察可能' タイプに存在しません
import {Pipe, ChangeDetectorRef} from 'angular2/core'; import {Observable} from 'rxjs/Observable'; import {AsyncPipe} from 'angular2/common'; @Pipe({ name: 'messageTime', pure: false }) export class MessageTimePipe extends AsyncPipe { //Type 'any' is not a constructor function type value:Date; timer:Observable<string>; constructor(ref:ChangeDetectorRef) { //Cannot find name 'ChangeDetectorRef'. Parameter 'ref' of constructor from exported class has or is using private name 'ChangeDetectorRef'. super(ref); } transform(obj:any, args?:any[]):any { if (obj instanceof Date) { this.value = obj; if(!this.timer) { this.timer = this.getObservable(); } return super.transform(this.timer, args); } return super.transform(obj, args); } private getObservable() { return Observable.interval(1000).startWith(0).map(() => { //Property 'interval' does not exist on type 'typeof Observable' var result:string; // current time let now = new Date().getTime(); // time since message was sent in seconds let delta = (now - this.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; }); };
}
これを解決する方法上の任意のアイデア?
編集:私はあなたがすでに存在しているものを作成する必要がない理由利用angular 2 momentimport {Observable} from 'rxjs/Rx';
このエラーは解決しましたか?私もこの問題に直面していますか? –