外部のjsonデータでアプリケーションを初期化する必要があります。私が得ている問題は、データが到着してから子コンポーネントのロードを待機させることができないということです。外部データでアプリケーションを初期化する
たとえば、これを例として使用します(ここでは外部読み込みではなく、setTimeout
を使用してデータが到着するのを待っています)。
new Vue({
el: '#app',
router,
render: h => h(App),
beforeCreate() {
setTimeout(() => {
this.myConfig = 'loaded'; // I realize I'm not using $data here, but nevermind
}, 1000)
},
});
そして、私の子コンポーネントで
created() {
console.log(this.$root.myConfig);
},
問題はbeforeCreateが終了する前に、子からcreated
が呼び出されるということです。
データは初期状態から変更されません。したがって、私はVueXの反応性は必要ありません。
私はvue-routerを使用していますので、デフォルトのルートとしてローディングコンポーネントを作成し、データをロードし、到着時に正しい初期状態に切り替えることをお勧めします。
また、Async Componentsを見れば、私が使うべきものかもしれませんが、私が必要とするものより少し複雑だと感じています。
これを達成するためのベストプラクティスがありますか?