2017-05-17 5 views
0

Bis jetzt war ich mit momentjs Bibliothek wie folgt aus:Momentjs mit Typoskript: „Typ string ist nicht übertragbar‚Datum‘eingeben“

import * as moment from 'moment'; // import moment. 
@Component({..}); 
export class TestClass { 
    lastUpdated = Date 
    constructor(private myService: MyService){ 
    this.lastUpdated = this.getCurrentTime(); **// this shows error.. that type string is not assignable to type 'Date'** 
    } 
var getCurrentTime(){ 
    return moment().format('DD MMM YYYY HH:mm:ss'); 
} 
} 

Above Code zeigt mir diesen Fehler: dass Typ string nicht übertragbar ist Typ ‚Date‘ **

Aber gleichen Code genau funktioniert gut, wenn ich diese Zeile anstelle des Import-Modul verwenden, evenn andere resturent os

declare var moment: any;

Aber ich canot obige Aussage verwenden, da es usin ist g "var": und "any" wird von Lint nicht vorgeschlagen.

Warum gibt getCurrentTime String zurück? Sollte nicht diese Rückkehr Datum

+0

ändern Lastupdated = Date Lastupdated: Moment() – Yeysides

+0

leid Änderung es zu Lastupdated = Moment(); – Yeysides

+1

'getCurrentTime()' gibt einen String zurück b/c moments 'format()' Methode gibt eine Zeichenkette zurück. https://momentjs.com/docs/#/displaying/format/ –

Antwort

0

“type string is not assignable to type 'Date'”

lastUpdated = Date sollte lastUpdated: string sein.

-Code

Fest ein paar andere Dinge auch:

import * as moment from 'moment'; // import moment. 
@Component({..}); 
export class TestClass { 
    lastUpdated: string; 
    constructor(private myService: MyService){ 
    this.lastUpdated = this.getCurrentTime(); 
    } 
getCurrentTime(){ 
    return moment().format('DD MMM YYYY HH:mm:ss'); 
} 
} 
Verwandte Themen