私は、ルートコンポーネントが読み込まれる前にサービスを呼び出す方法を見つけました。しかし、私はサービスが正常に仕事を終えるまで、アプリ全体を待たせる方法を見つけることはできません。つまり、同期呼び出しを行う方法です。サービスはAJAXを介して必須の設定をロードしており、コールが終了するまでアプリケーションの開始を保留する必要があります。APP_INITIALIZERの実行が終了するまで、Angular 2+アプリの読み込みを停止しますか?
router-outlet
に*ngIf
を追加するとエラーが発生します。
CanActivate
で経路をブロックすると、表示が停止することがありますが、次に、ローダー画面を定義して、約束が満たされたらコードから適切な経路を呼び出す必要があります。あまりエレガントではありません。
特定の値がtrue
になるまで、Angular to STFUに伝える方法はありますか?
は、呼び出しを行うコードを表示プロバイダの配列に追加し、 。 –
これはブートストラップ時に実行される機能です。https://pastebin.com/NvtTKa5M –
約束を使用してください:https://docs.angularjs.org/api/ng/service/$q。例:サービスが完了したら、約束を解決してloadsettings関数から戻ります。 –