質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

1105閲覧

Nuxtでサーバから取ってきたデータをdataプロパティに代入したい

Ropital

総合スコア6

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/03/19 08:51

やりたいこと

タイトルの通りです。

ためしたこと

AsyncData内の処理で取得したデータがマージされた後にmountedでnameに代入するようにしてみました

edit

1data: ()=> ){ 2 name: "" 3}), 4mounted() { 5 name = info.data.attributes.name 6}, 7asyncData({ $axios, params }) { 8 return $axios.$get(`http://localhost:3000/api/v1/users/${params.id}`) 9 .then((res) => { 10 return {info: res} 11 }) 12},

すると次のエラーがでます

ReferenceError: info is not defined at VueComponent.mounted (_id.vue?21cd:59) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at callHook (vue.runtime.esm.js?2b0e:4219) at insert (vue.runtime.esm.js?2b0e:3139) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at Object.invoker [as insert] (vue.runtime.esm.js?2b0e:2175) at invokeInsertHook (vue.runtime.esm.js?2b0e:6346) at VueComponent.patch [as __patch__] (vue.runtime.esm.js?2b0e:6565) at VueComponent.Vue._update (vue.runtime.esm.js?2b0e:3948) at VueComponent.updateComponent (vue.runtime.esm.js?2b0e:4060) vue__WEBPACK_IMPORTED_MODULE_19__.default.config.errorHandler @ client.js?06a0:77 globalHandleError @ vue.runtime.esm.js?2b0e:1870 handleError @ vue.runtime.esm.js?2b0e:1839 invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1862 callHook @ vue.runtime.esm.js?2b0e:4219 insert @ vue.runtime.esm.js?2b0e:3139 invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1854 invoker @ vue.runtime.esm.js?2b0e:2175 invokeInsertHook @ vue.runtime.esm.js?2b0e:6346 patch @ vue.runtime.esm.js?2b0e:6565 Vue._update @ vue.runtime.esm.js?2b0e:3948 updateComponent @ vue.runtime.esm.js?2b0e:4060 get @ vue.runtime.esm.js?2b0e:4479 run @ vue.runtime.esm.js?2b0e:4554 flushSchedulerQueue @ vue.runtime.esm.js?2b0e:4310 eval @ vue.runtime.esm.js?2b0e:1980 flushCallbacks @ vue.runtime.esm.js?2b0e:1906 Promise.then (async) timerFunc @ vue.runtime.esm.js?2b0e:1933 nextTick @ vue.runtime.esm.js?2b0e:1990 queueWatcher @ vue.runtime.esm.js?2b0e:4402 update @ vue.runtime.esm.js?2b0e:4544 Vue.$forceUpdate @ vue.runtime.esm.js?2b0e:3969 eval @ vue.runtime.esm.js?2b0e:8200 wrappedHook @ vue.runtime.esm.js?2b0e:2235 invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1854 invoker @ vue.runtime.esm.js?2b0e:2175 eval @ vue.runtime.esm.js?2b0e:7696 eval @ vue.runtime.esm.js?2b0e:336 whenTransitionEnds @ vue.runtime.esm.js?2b0e:7391 eval @ vue.runtime.esm.js?2b0e:7728 requestAnimationFrame (async) eval @ vue.runtime.esm.js?2b0e:7363 requestAnimationFrame (async) nextFrame @ vue.runtime.esm.js?2b0e:7362 performLeave @ vue.runtime.esm.js?2b0e:7720 leave @ vue.runtime.esm.js?2b0e:7704 remove$$1 @ vue.runtime.esm.js?2b0e:7797 removeAndInvokeRemoveHook @ vue.runtime.esm.js?2b0e:6155 removeVnodes @ vue.runtime.esm.js?2b0e:6129 patch @ vue.runtime.esm.js?2b0e:6558 Vue._update @ vue.runtime.esm.js?2b0e:3948 updateComponent @ vue.runtime.esm.js?2b0e:4060 get @ vue.runtime.esm.js?2b0e:4479 run @ vue.runtime.esm.js?2b0e:4554 flushSchedulerQueue @ vue.runtime.esm.js?2b0e:4310 eval @ vue.runtime.esm.js?2b0e:1980 flushCallbacks @ vue.runtime.esm.js?2b0e:1906 Promise.then (async) timerFunc @ vue.runtime.esm.js?2b0e:1933 nextTick @ vue.runtime.esm.js?2b0e:1990 queueWatcher @ vue.runtime.esm.js?2b0e:4402 update @ vue.runtime.esm.js?2b0e:4544 notify @ vue.runtime.esm.js?2b0e:730 reactiveSetter @ vue.runtime.esm.js?2b0e:1055 eval @ vue-router.esm.js?8c4f:2780 eval @ vue-router.esm.js?8c4f:2779 updateRoute @ vue-router.esm.js?8c4f:2208 eval @ vue-router.esm.js?8c4f:2071 eval @ vue-router.esm.js?8c4f:2193 step @ vue-router.esm.js?8c4f:1877 step @ vue-router.esm.js?8c4f:1884 runQueue @ vue-router.esm.js?8c4f:1888 eval @ vue-router.esm.js?8c4f:2188 step @ vue-router.esm.js?8c4f:1877 eval @ vue-router.esm.js?8c4f:1881 eval @ vue-router.esm.js?8c4f:2173 eval @ vue-router.esm.js?8c4f:1955 iterator @ vue-router.esm.js?8c4f:2154 step @ vue-router.esm.js?8c4f:1880 step @ vue-router.esm.js?8c4f:1884 eval @ vue-router.esm.js?8c4f:1881 eval @ vue-router.esm.js?8c4f:2173 _callee4$ @ client.js?06a0:454 tryCatch @ runtime.js?96cf:45 invoke @ runtime.js?96cf:271 prototype.<computed> @ runtime.js?96cf:97 asyncGeneratorStep @ asyncToGenerator.js?1da1:3 _next @ asyncToGenerator.js?1da1:25 Promise.then (async) asyncGeneratorStep @ asyncToGenerator.js?1da1:13 _next @ asyncToGenerator.js?1da1:25 Promise.then (async) asyncGeneratorStep @ asyncToGenerator.js?1da1:13 _next @ asyncToGenerator.js?1da1:25 Promise.then (async) asyncGeneratorStep @ asyncToGenerator.js?1da1:13 _next @ asyncToGenerator.js?1da1:25 Promise.then (async) asyncGeneratorStep @ asyncToGenerator.js?1da1:13 _next @ asyncToGenerator.js?1da1:25 Promise.then (async) asyncGeneratorStep @ asyncToGenerator.js?1da1:13 _next @ asyncToGenerator.js?1da1:25 eval @ asyncToGenerator.js?1da1:32 eval @ asyncToGenerator.js?1da1:21 render @ client.js?06a0:239 iterator @ vue-router.esm.js?8c4f:2154 step @ vue-router.esm.js?8c4f:1880 eval @ vue-router.esm.js?8c4f:1881 eval @ vue-router.esm.js?8c4f:2173 _callee3$ @ client.js?06a0:160 tryCatch @ runtime.js?96cf:45 invoke @ runtime.js?96cf:271 prototype.<computed> @ runtime.js?96cf:97 asyncGeneratorStep @ asyncToGenerator.js?1da1:3 _next @ asyncToGenerator.js?1da1:25 eval @ asyncToGenerator.js?1da1:32 eval @ asyncToGenerator.js?1da1:21 loadAsyncComponents @ client.js?06a0:124 iterator @ vue-router.esm.js?8c4f:2154 step @ vue-router.esm.js?8c4f:1880 step @ vue-router.esm.js?8c4f:1884 runQueue @ vue-router.esm.js?8c4f:1888 confirmTransition @ vue-router.esm.js?8c4f:2181 transitionTo @ vue-router.esm.js?8c4f:2068 push @ vue-router.esm.js?8c4f:2399 push @ vue-router.esm.js?8c4f:2814 push @ router.js?5783:18 handler @ vue-router.esm.js?8c4f:1097 invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1854 invoker @ vue.runtime.esm.js?2b0e:2179 original._wrapper @ vue.runtime.esm.js?2b0e:6917

分析

info is not definedと出ているので、infoがdataにマージされるまえにcreatedが実行されているのだと思いますが、何かAsyncDataで取ってきたデータをdataプロパティ(name)に代入する方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/03/23 03:44

非同期なので、then の中で return じゃなくて表示を更新する必要がありますが、Nuxt のやり方は知りません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問