Nuxt v2.5.1
nuxt.config.js
js
1mode: 'universal', 2plugins: ['~plugins/axios', ...],
plugins/axios.js
js
1export default function ({ route, from }) { 2 $axios.onRequest(config => { 3 console.log(route) 4 5 return config 6 }) 7}
ページ遷移する度にリクエストがインタラプトされます(たとえばasyncData()
でのリクエスト)。
そのときroute
を観察してみると、どこに遷移してもroute
が変化していません。 SSR 時のroute
から変わりません。
/ にアクセスする console.log --> { path: '/', ... } ↓ /users へ遷移する console.log --> { path: '/', ... } ↓ /products へ遷移する console.log --> { path: '/', ... }
同じように、/users
へのアクセスから始めればどこに遷移しても{ path: '/users' }
のままです。
これは仕様として正しい動作でしょうか?
私が期待する動作は、遷移直後のページのルート情報を得るものです。
/users
から/products
に遷移したとき products ページのasyncData()
でのリクエストでは{ path: '/products', ... }
になるはずだと思っています。
もしasyncData()
が解決されるまでは route 更新されない仕様だとして、products ページのasyncData()
内ではまだ{ path: '/users' }
のままということはあっても、 SSR 時の{ path: '/', ... }
のままというのはおかしいと思い、本来どういう動作が正しいのか質問します。
それと、上記コード同箇所で、from
がいつもundefined
のままというのも不自然に思っています。ここは/products
への遷移でいうなら/users
になっているはずと思うのですが。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。