###発生している問題・エラーメッセージ
dataにデータが入っているのに、
[Vue warn]: Error in render: "TypeError: Cannot read property '○○' of undefined"
というエラーが出ます。
###該当のソースコード
lang
1 new Vue ({ 2 el:'#app', 3 data: { 4 termAllCount : 3, 5 shohinsArray: null, 6 dataGetEnd:false 7 }, 8 async created(){ 9 this.shohinsArray = await this.query(); 10 this.dataGetEnd = true 11 }, 12 methods: { 13 async query(){ 14 this.dataGetEnd = false 15 let shohinsArr = [] 16 const termArr = [8,9,10] 17 const createdata = () => { 18 for(let i = 0; i<this.termAllCount; i++){ 19 const thisterm = termArr[i] 20 const resturlBase = inputResturl.value; 21 const resturl = resturlBase + '/○○/' + '?term=' + thisterm 22 axios.get(resturl) 23 .then((response) => { 24 let a = { 25 item:response.data.item 26 } 27 shohinsArr[i] = a 28 }) 29 } 30 return shohinsArr 31 } 32 shohinsArr = await createdata() 33 return shohinsArr 34 }, 35 }, 36 }) 37
lang
1 <div v-if="dataGetEnd"> 2 <div>{{shohinsArray[0].item.○○}}</div> 3 </div>
###試したこと
Vue.js devtoolsで確認すると、リロードしたときにdataが入ったり入っていなかったりします。
async,awaitでshohinsArrayが入ってからdataGetEndをtrueにし、v-ifで表示させているはずなのですが、取得できていません。
getはうまくいっていることが確認できています。
asyncの書き方がよくないのかもしれませんが、どこが悪いのかわからず、教えていただきたいです。
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/11 23:43
2019/11/12 00:55
2019/11/12 01:27
2019/11/12 01:29
2019/11/12 08:02