Ich kann nicht verstehen, wie DI verwendet werden kann, um ein bestimmtes Konstruktorargument in einer Komponente bereitzustellen, die ich importiert habe. Die NgbDatePicker
enthält eine benutzerdefinierte Formatierungsschnittstelle (NgbDateParserFormatter
), die bei Implementierung im Konstruktor an die Komponente übergeben werden kann, um benutzerdefinierte Datumsformate anzuzeigen. Ich bin mit dem NgbDatePicker Komponente wie folgt:Verwendung der Abhängigkeitsinjektion in Angular 2 zum Anpassen einer attributbasierten Komponente NgbDatepicker
<input class="form-control" placeholder="yyyy-mm-dd" ngbDatepicker
name="dp-start" [(ngModel)]="startDate"
#dpStart="ngbDatepicker" id="dp-start">
Wenn ich die NgbDatePicker
in meine eigene Komponente eingewickelt, dann könnte ich die benutzerdefinierte NgbDateParserFormatter
durch meine Konstruktor übergeben und sie anwenden. Ich möchte jedoch keine separate Komponente haben.
Wie kann ich eine externe Komponente wie die NgbDatePicker
über DI von Angular 2 konfigurieren?
Es ist unklar, was Sie mit substanzieller Kodierung meinen. Wenn Sie den benutzerdefinierten 'NgbDateParserFormatter' haben, können Sie ihn außerdem in Ihrem Modul auf oberster Ebene übergeben und überall anwenden. – silentsod
@silentsod Ich habe meine unklare Formulierung der Frage bearbeitet - ich meinte, ohne den'NgbDatePicker' in eine weitere Komponente zu verpacken. Also, wie würde ich es weitergeben? Einfach durch Deklarieren in der 'Provider'-Liste des Moduls? –
Ich bin mir nicht sicher, ob es pro Modul sein kann (ich habe es App weit und bin nicht anderweitig verfallen), ich erinnere mich daran, in ihrem Quellcode herumzustochern, um es herauszufinden, aber Sie können es als Anbieter auflisten. Ich werde ein Demo in ein bisschen aufstellen. – silentsod