nuxtのlayoutを、axiosで取得してきた値に応じて動的に変えたい
タイトルの通りですが、ページ遷移時には以下のコードで上手く行くのですが、初期表示・リロード時は上手く行きません。
layout (context) {
return context.store.getters['lp/lp'].layout
},
//layoutにセットする値はここでstateにセットしている
async asyncData({ app, store, params }) {
console.log("asyncData")
await store.dispatch('lp/setLp', params.id)
},
layoutの中の処理は、ページ遷移時には、layout(SSR)→asyncData→layoutと、layoutがサーバとクライアントで一度ずつ実行されます。
このため、asyncDataでlayoutに変数をセットした後にもう一度layoutを通るので、期待通りの動作になります。
一方、初期表示の時は、layout(SSR)→asyncDataとなるため、上手く行きません。
axiosで取得してきた値を元にlayoutを変えたい場合はどうしたら良いでしょうか?
layoutの中でaxiosで取得して来るしかないですか?