ネットワークがオフラインの場合は*ngIf
を使用していくつかの要素を非表示にし、別のボタンを表示すると "再試行" 。* ngIf条件がtrueに設定された後にDOMの準備ができたら検出するには
リトライボタンをクリックすると、ネットワークが戻ったら、*ngIf
で隠されている要素を再表示します。また、@ViewChild
(たとえば、Ionic 2スライダを使用して現在のインデックスを取得する)でそれらの一部を参照する必要があります。私の問題は、これらの要素が、同じファンクションコールで参照を取得しようとするときに定義されていないということです。*ngIf
にバインドされたプロパティをtrueに戻します。
私はsetTimeoutの中から呼び出すことを試みましたが、これは非常に安全ではないようです - いくつかのDOM要素は戻っていますが、すべてではありません。
*ngIf
で隠されていたすべての要素がDOMに準備されているか、または*ngIf
を使用していないので、要素が実際には削除されないようにする必要がありますか? )。
ご協力いただきありがとうございます。角度は、コンポーネントの ビューを初期化した後、私はngAfterViewInit()
はこれであなたを助けると思う
その提案をありがとう、確かに例で動作するようです。私はそれを私のプロジェクトに追加しましたが、それは起こりましたが、私のイオン選択の1つは、このイベントでそれにアクセスしようとしたときにまだ利用できませんでした。私は以来、このケースでは可視性をトグルするだけになっています。これはdomから何も削除しないためです。 – peterc