2017-10-08 4 views
1

Je dois manquer quelque chose d'évident. Si j'ajoute *mobxAutorun en haut de tags.component.html, le composant entier n'est pas rendu. Si je le supprime, il est rendu au bas de la page, mais le code reflétant le commonStore.isLoadingTags n'est pas traité correctement.* mobxAutorun rend le composant entier non rendu

J'ai suivi tout à mobx-angular, je l'événement updated one of the samples to Angular 4+, mais mon simple changement dans le Realworld Angular 4+/Mobx repository ne fonctionne toujours pas. Merci pour vos suggestions!

Répondre

0

TLDR: N'oubliez pas d'importer le MobxAngularModule afin qu'il soit accessible dans le module que vous utilisez la directive *mobxAutorun. J'ai rencontré le même problème aujourd'hui dans mon propre code, pas dans l'exemple mentionné. The answer est spécifique à l'échantillon fourni. Si quelqu'un rencontre ce problème, vous pouvez généralement dire que le MobxAngularModule doit être disponible dans le module/composant que vous utilisez *mobxAutorun. Peu importe si vous utilisez une sorte de SharedModule dans lequel vous le réexportez ou si vous déclarez l'importation directement dans le module que vous utilisez.

0

Afin explained par Adam, il est parce que si SharedModule est utilisé, la vous devez importer MobxAngularModule dans SharedModule, pas AppModule, puis l'exporter et il est disponible dans l'application:

@NgModule({ 
    imports: [ 
    ... 
    MobxAngularModule 
    ], 
    ... 
    exports: [ 
    ... 
    MobxAngularModule 
    ] 
}) 
export class SharedModule {}