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

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

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

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

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Q&A

解決済

1回答

293閲覧

Vue.jsでfirebaseのデータを取得する方法

gymusel

総合スコア4

Vue.js

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

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

0グッド

0クリップ

投稿2021/04/02 06:06

編集2021/04/02 06:08

前提・実現したいこと

Vue.jsとFirebaseを利用した開発の練習をしています。

Firebaseからデータ取得し、data内のthis.myListに入れることが目的です。

下のコードに書いてあるように、thenの内と外で、this.myListが取得できるかどうかになぜ違いが出てくるのでしょうか。

どうぞよろしくお願い致します。

該当のソースコード

vue.js

1export default { 2 data(){ return { 3 myList: [] 4 } 5 }, 6 methods: { 7 fetchMyList(uid) { 8 firebase.firestore().collection("users").doc(uid).get().then((doc) => { 9 this.myList = doc.data().myList 10 console.log("thenの中: " + this.myList) // thenの中ではthis.myListで取り出せる 11 }) 12 console.log("thenの外: " + this.myList) // thenの外ではthis.myListで取り出せない 13 }, 14 }, 15}

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

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

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

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

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

guest

回答1

0

ベストアンサー

thenの外だからthis.myListが取り出せないのではありません。
thenの外のコードは、thenの中のコードが実行されるより前(つまりthis.myList = doc.data().myListよりも前に)実行されるから取り出せないのです。

投稿2021/04/02 08:52

ku__ra__ge

総合スコア4524

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

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

gymusel

2021/04/02 08:55

なるほど…!!勉強不足でした。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問