動作としてucanさんの仰るようにasyncDataでは第一引数にcontextが入っきており、context.params.category_idを取得しているためパラメータの取得は問題ありません。
axiosを呼び出す際のパラメータの指定の文法の問題かと思われます。
import axios from 'axios'はしてますよね?
APIの呼び出し先がわからないので2パターン記載します。
https://my-api/category/:category_id
Javascript
1export default {
2 async asyncData ({params}) {
3 const huga = await axios.get(`https://my-api/category/${params.category_id}`)
4 return{
5 huga
6 }
7 }
8}
https://my-api?category=:category_id
Javascript
1export default {
2 async asyncData ({params}) {
3 const huga = await axios.get(`https://my-api`,{params: {category: {params.category_id}}})
4 return{
5 huga
6 }
7 }
8}
補足として…
1.asyncDataはnuxtによる拡張部分のため引数としてcontextを取得出来ますが、createdやmountedでparamsを参照したい場合はvueの元々のメソッドのためcontextが入ってきません。
そのためucanさんの例のようにthis.$route.params.category_idを取得する事となります。
2.パラメータはスネークケースとする要件がないのであればキャメルケースがおすすめす。アンダースコアはnuxtで./nuxt/router.jsが自動生成される時に、ファイルの場合はパラメータの区切り文字として認識されてしまい混乱しやすいので。
参考
https://qiita.com/masaakikunsan/items/c150c8f21459b6819890
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。