HTML
1<style> 2body { 3 font-family: Helvetica, sans-serif; 4} 5</style> 6 7<template> 8<div> 9 <p>UID: {{uid || 'None'}}</p> 10 <div v-if="user"> 11 <input v-model.trim="newTodoText" @keyup.enter="addTodo" placeholder="Add new todo"> 12 <ul> 13 <li v-for="todo in todos"> 14 <div v-if="todo.owner === user.uid"> 15 <input :value="todo.text" @input="updateTodoText(todo, $event.target.value)"> 16 <button @click="removeTodo(todo)">X</button> 17 </div> 18 <div v-else> 19 {{todo.text}} 20 </div> 21 </li> 22 </ul> 23 </div> 24 <div v-else></div> 25</div> 26</template> 27 28<script> 29import firebase from './firebase' 30const auth = firebase.auth() 31const db = firebase.database() 32const todosRef = db.ref('todos') 33export default { 34 data() { 35 return { 36 user: null, 37 newTodoText: '', 38 } 39 }, 40 computed: { 41 uid() { 42 if (!this.user) { 43 return null 44 } 45 return this.user.uid 46 } 47 }, 48 firebase: { 49 todos: todosRef 50 }, 51 mounted() { 52 auth.onAuthStateChanged(user => { 53 if (!user) { 54 auth.signInAnonymously().catch(err => console.error(err)) 55 } 56 this.user = user 57 }) 58 }, 59 methods: { 60 addTodo() { 61 if (!this.newTodoText || !this.user) { 62 return 63 } 64 todosRef.push({ 65 text: this.newTodoText, 66 owner: this.user.uid, 67 }).then(_ => { 68 this.newTodoText = '' 69 }) 70 }, 71 updateTodoText(todo, newText) { 72 todosRef.child(todo['.key']).child('text').set(newText) 73 }, 74 removeTodo(todo) { 75 todosRef.child(todo['.key']).remove() 76 } 77 } 78} 79</script>
<やりたいこと>
Firebaseを用いたリアルタイムチャットの公開をしたいです。
上記のソースコードは他で拾ったものなのですがこのソースを用いて試しに自分で実際に公開してみたく、今回質問に至りました。
<わからないこと>
・Firebaseで上記のソースを公開する方法
・どこにこのソースを入力すればよいのか
かなり初歩的な質問ですみません。宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/23 04:23
2019/10/24 03:54