Court moyen d'attribuer une date de ngbDatepicker

Je suis à l'aide de formes réactives dans mon Angulaire 2 webapp et je vais avoir des ennuis attribution de la date de ngbDatepicker (ngbootstrap 1 alpha 6). Mon objet est un objet date, tels que:

var myObject = {date: new Date(1, 9, 2016)};

et dans ma forme réactive, il est configuré de la manière suivante:

input.form-control(name='date', ngbDatepicker, #date="ngbDatepicker", placeholder='jj.mm.aaaa', formControlName='date', type="text")

et je patch le formulaire comme ceci:

this.form.patchValue({myObject: myObject});

Le problème est que ngbDatepicker prendre de la date avec la structure suivante:

{day: DD, month: MM, year: YYYY}

J'ai trouvé une solution de contournement qui n':

this.form.controls.myObject.controls.date.valueChanges
        .map((value) => {
            if(value) {
                if (typeof value.getMonth === 'function') {
                    this.form.controls.myObject.patchValue({
                        date: {
                            day: value.getUTCDay(),
                            month: value.getUTCMonth(),
                            year: value.getUTCFullYear()
                        }
                    });
                }
            }
            return value;
        })
        .subscribe((value) => {

        });

Et tout fonctionne comme prévu (la date est mise à jour chaque fois que formulaire est patché), mais il est trop verbeux (18 lignes de code) et mon formulaire a une douzaine de dates!

Donc ma question est puis-je obtenir le même résultat avec une période beaucoup plus courte de la solution?

déplacer le code dans une fonction et de l'appeler à partir de la carte.
Eh bien...je m'attendais à un plus solution créative à l'aide d'une directive ou d'une pipe!

OriginalL'auteur ncohen | 2016-10-02