angular2 Zugriff auf ngModel-Variable aus einer Direktive

7

Ich versuche, eine Datetime-Picker-Direktive wie die folgende zu erstellen.
<input [(ngModel)]="date1" datetime-picker date-only />

und date1 wird als Datum zugewiesen, z. B. new Date()

Wenn ich dies in HTML anzeigen lasse, sieht der Text im Eingabeelement wie folgt aus: Thu Jan 01 2015 00:00:00 GMT-0500

Ich möchte stattdessen wie folgt angezeigt werden: 2015-01-01 00:00:00

Ich möchte das Datum innerhalb einer Direktive mit DatePipe formatieren, anstatt das Ergebnis von der standard toString () - Funktion anzuzeigen.

Meine Frage ist; "Innerhalb einer Direktive, wie greife ich auf die Variable ngModel zu?", z. B. date1, so dass ich die Methode toString () hinzufügen kann.

Wenn meine Herangehensweise nicht richtig ist, rate mir bitte.

    
allenhwkim 23.05.2016, 02:40
quelle

2 Antworten

12

Um auf ngModel zuzugreifen, kannst du einfach einen @Input() in deinem datetime-picker haben. Und da Sie eine 2-Wege-Datenbindung verwenden, müssen Sie die Änderungen an ngModel ausgeben.

%Vor%

Überprüfen Sie dieses Plunk

Der bessere Weg, IMHO, ist die Verwendung der DatePipe

%Vor%

Überprüfen Sie dieses Plunk

    
Abdulrahman 23.05.2016 03:05
quelle
11

Hier können Sie einfach und einfach ngModel anhören und benachrichtigen. Ich habe gerade mit jQuery zum besseren Verständnis demonstriert. Praktisch kann es alles sein.

%Vor%     
Dhrumil Bhankhar 21.10.2016 14:59
quelle