2017-10-08 1 views
1

私は明らかな何かを見逃しているに違いありません。 tags.component.htmlの先頭に*mobxAutorunを追加すると、コンポーネント全体がレンダリングされません。削除すると、ページの下部に表示されますが、commonStore.isLoadingTagsに反映されたコードは正しく処理されません。* mobxAutorunは、コンポーネント全体がレンダリングされないようにします。

私はmobx-angularですべてを追跡しましたが、私はイベントupdated one of the samples to Angular 4+でしたが、Realworld Angular 4+/Mobx repositoryの私の単純な変更はまだ機能していません。あなたの提案をありがとう!

答えて

0

TLDR:ディレクティブを使用しているモジュールでアクセスできるように、MobxAngularModuleをインポートすることを忘れないでください。

@NgModule({ 
    ... 
    imports: [ 
     ... 
     MobxAngularModule 
    ] 
}) 

私は今述べたサンプルではなく、私自身のコードで同じ問題に直面しました。 The answerは、提供されるサンプルに固有です。この問題が発生した場合は、*mobxAutorunを使用しているモジュール/コンポーネントでMobxAngularModuleが利用可能である必要があると一般に言えます。ある種類のSharedModuleを使って再エクスポートするか、ディレクティブを使っているモジュールで直接インポートを宣言しても問題はありません。

0

SharedModuleが使用されている場合、あなたはAppModuleSharedModuleMobxAngularModuleをいないインポートし、それはアプリ全体で利用可能ですので、同様にそれをエクスポートする必要があるため、だから、Adamによってexplainedとして、それは次のとおりです。

@NgModule({ 
    imports: [ 
    ... 
    MobxAngularModule 
    ], 
    ... 
    exports: [ 
    ... 
    MobxAngularModule 
    ] 
}) 
export class SharedModule {} 
関連する問題