前提・実現したいこと
Nuxt.jsとfirebaseを使って道場生の情報として生年月日から年齢を計算するプログラムを作っています。計算まではうまく行きましたが、その計算結果を表示させることがうまくできなくて困っています。
発生している問題・エラーメッセージ
Cannot read property 'age' of undefined
該当のソースコード
js
<template> 略 <td>{{ this.age }}歳</td> 略 </template> export default { data() { return { age: '', }, created() { this.$store.dispatch('setStudentsRef', db.collection('students')); // 年齢を計算 // const studentRef = db.collection('students'); studentRef.get().then(querySnapshot => { querySnapshot.forEach(birthDayDocSnapshot => { const birthDay = birthDayDocSnapshot.data().pickerDate; const today = moment(); let y = Math.floor(moment.duration(today.diff(birthDay)).as('months') / 12); this.age = y; }); }); },
試したこと
console.log(this.age)とするとちゃんと数字のデータはちゃんと取れています。
コールバック関数の問題でもなさそうですし、どうすればいいのか困っています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
まだ回答がついていません
会員登録して回答してみよう