2016-10-24 4 views
0

Il ya un grand tuyau posté sur here.Ionic RC - Grand tuyau angulaire 2 'timeAgo'

Je suis en train de le faire fonctionner avec ionique 2 version RC et l'obtention de ces trois erreurs:

  1. Type « tout » est pas un type de fonction constructeur
  2. Vous ne trouvez pas le nom « ChangeDetectorRef ». Le paramètre 'ref' du constructeur de la classe exportée utilise ou utilise le nom privé 'ChangeDetectorRef'.
  3. 'intervalle' propriété n'existe pas sur le type 'typeof Observable'

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

    }

Toute idée sur la façon de résoudre ce problème?

Edit: j'ai pu prendre erreur 3/en utilisant import {Observable} from 'rxjs/Rx';

+0

Avez-vous résolu cette erreur? Je suis également confronté à ce problème? –

Répondre

0

Utilisez angular 2 moment pourquoi avez-vous besoin de créer quelque chose qui existe déjà?

+0

Ionic 2 est en version RC et avec le nouveau système de build avec rollup, il est difficile de faire fonctionner une bibliothèque tierce dans le projet. Et si je peux éviter une dépendance externe avec un tuyau angulaire, cela faciliterait beaucoup les choses. – Dee