#各ユーザーのアイコンを画面に表示させたいです。
投稿一覧にて投稿したユーザーのアイコンを各投稿に表示させたい(現在はただ画像を埋めているだけです・・)です。
各ユーザーの画像情報はFirestoreに保存しております。
現状コードとしては以下のようにしておりますが、ログイン中ユーザーのみの画像表示方法はわかるのですが
各投稿したユーザーのアイコンをそれぞれ取得して表示させるやり方が分からず困っております。。
分かる方いらっしゃいましたらお力添えを頂きたいです。
宜しくお願い致します。
<template> <div class="card"> <div class="face face1 flex"> <div class="content"> <img class="profile-icon" width="50" height="50" src="userDatas.uploadedImage == '' ? preview : userDatas.uploadedImage.fileUrl" /> <h3>{{ list.title }}</h3> {{ list.id }} </div> </div> <div class="face face2 flex"> <div class="content flex"> <button class="hide-btn" @click="deletePost()">×</button> <p>{{ list.description }}</p> <router-link :to="`/chat/${list.id}`" class="join-btn flex" >ルームへ参加</router-link > <!-- to="`chat/${list.id}`"でchat/(取得したid)でページ遷移する。 --> <!-- ${ ~ }で囲ってあげないと文字列のままになってしまうので注意。 --> <!-- 「list.id」propsで親コンポーネントから取得したidを取得。--> <img src="../assets/ブックマーク.jpg" alt="ブックマーク" class="bookmark-icon" @click="savePost" /> <p class="post-time">{{ list.time.toDate().toLocaleString() }}</p> </div> </div> </div> </template>
<script> export default { data() { return { userid: "", userDatas:[] preview: require("../assets/デフォルトの画像.jpg"), }; }, created() { firebase .firestore() .collection("users") .doc(id) .get() .then((snapshot) => { this.userDatas.push(snapshot.data()); }); }); }, }; </script>
#追記1
掲載しているFirestore内容のように.uploadedImage.fileUrlにURLを保存しているので
HTML内は:src="userDatas.uploadedImage.fileUrl"という風な記載になるのでしょうか。。
<img class="profile-icon" width="50" height="50" :src="userDatas.uploadedImage.fileUrl" />
また、data内は以下のように記載しておりますが、写真のようなエラーが出てしまします。。
export default { data() { return { userDatas: [], userDatas.uploadedImage.fileUrl(src) { if (src != "") { return require(`@/assets/img/${src}`); } }, };
メソッドで定義するとのことですが、取得する際にメソッドで取得したことがなく記載方法がわからずで、
下記のようにしたのですが、こちらもまたエラーが出てしまいました。。
初学者なものでわからないことばかりで大変申し訳ございません。。
#追記2
解決に至らず行き詰ってしまった為、以下サイトにも掲載させて頂いております。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。