2017-08-01 8 views
0

私は私のルータのナビゲーションガードで非同期の仕事をやってる:Vueのルータの非同期ルートガード進捗

router.beforeEach((to, from, next) => { 
    somethingAsync().done(next) 
}) 

ルータは、現在「ロード」だということを私に伝えるために何かを公開していますか?あるいは私はそれを自分で追跡する必要がありますか?今すぐ非同期作業が完了したら、コンテンツは<router-view></router-view>にポップアップ表示されます。私の現在の解決策は、私のVuexストアでアクティブな作業を追跡し、ルータビューの横にローディング要素を表示することです。私はあなたがこれですしようとしていると思うものを達成するために何

答えて

1

:インターセプター https://github.com/mzabriskie/axios

  • を持って

    • 使用Axiosまたは何か他のものは、保留中の要求のカウンターを持っているコンポーネントを持っています。そのカウンタが0より大きい場合、ローディング要素を表示します。
    • その後、要求が行われるとカウンタが上昇し、応答 が受信されると、カウンタがダウンするようにインターセプタを構成するだけです。

    必要に応じてコードを表示できます。

  • +0

    今日、私は私のVuex店で何をしているのですか?何かが組み込まれていれば私は好奇心が強いので、私は車輪を再発明していません – Johan

    関連する問題