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

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

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

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

Lodash

Lodashは、JavaScriptのユーティリティライブラリ。Underscoreの派生ライブラリで、配列・オブジェクトの操作に便利です。また、コードの可読性も高めることができます。

Nuxt.js

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

Q&A

1回答

818閲覧

vue.js(nuxt.js)でlodashの関数を使うとdebug(再読込)できなくなりました

e_nasu

総合スコア11

Vue.js

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

Lodash

Lodashは、JavaScriptのユーティリティライブラリ。Underscoreの派生ライブラリで、配列・オブジェクトの操作に便利です。また、コードの可読性も高めることができます。

Nuxt.js

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

0グッド

0クリップ

投稿2020/04/03 01:24

編集2020/04/03 01:26

nuxt.js のpages配下に下のvue ファイルを作成しました。
最初のアクセス時には、キチンと表示されるのですが、再読込をするとエラーがでます。
async で入手したrecord が再読込できていないように思うのですが、lodash を利用する前は問題なく再読込しdebugできていたので関係性が判りません。よろしくお願いします。

vue

1<template> 2 <section> 3 <p>{{lodashMap(record,'score')}}</p> 4 </section> 5</template> 6 7<script> 8import axios from 'axios' 9 10export default { 11 async asyncData ( {$axios, error} ) { 12 try{ 13 const response= await $axios.$get(`http://127.0.0.1:5000/api/record`) 14 return { record: response} 15 } 16 catch(err){ 17 error({ 18 statusCode: err.resoponse.status, 19 message: err.response.data.message, 20 }); 21 } 22 }, 23 24 methods:{ 25 // lodash mapを使う 26 lodashMap:function(arr,ele){ 27 return _(arr).map(ele) 28 .uniq() 29 .sortBy() 30 .value(); 31 }, 32 }, 33} 34</script>

エラーは次のようなものです。

DevTools

1DevTools failed to parse SourceMap: file:///home/e/app/flask_vue/next_df/node_modules/vue-template-es2015-compiler/buble-browser-deps.umd.js.map 2DevTools failed to parse SourceMap: file:///home/e/app/flask_vue/next_df/node_modules/postcss-custom-media/index.cjs.js.map 3DevTools failed to parse SourceMap: file:///home/e/app/flask_vue/next_df/node_modules/postcss-nesting/index.cjs.js.map

chromeの表示
イメージ説明

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

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

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

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

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

guest

回答1

0

asyncDataはコンポーネントが呼び出されるたびに呼ばれるので再読込ではデータをとってきません。

なので、再読み込みのたびにデータを取ってきて更新したいのであればmountedでapi通信関数を呼び出してdataに入れる形にする。
再読み込みのたびにデータをとってこなくてもいいなら、lodashMap関数をComputedに定義すればいいと思います。

投稿2020/04/03 03:58

minrara

総合スコア55

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

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

e_nasu

2020/04/03 04:37

ご回答ありがとうございます。上の質問の中に書くのを忘れていましたが、computed での記述も試しました。結果は 同じで再読込できませんでした。 また、methods の中の lodashが入っている部分を除いて 素のrecordを表示させるようにすると 再読込ができます。
minrara

2020/04/03 05:29

その場合はlodash関数内で引数として受け取らずthis.recordなどでdataのrecordを参照してみては?
e_nasu

2020/04/03 09:15

ありがとうございます。computed で記述したときに ご指摘のように記載しましたが再読み込みできませんでした。おそらくmethodsでも同様かと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問