Skip to content
This repository was archived by the owner on Mar 22, 2022. It is now read-only.

Commit 173c03a

Browse files
committed
Store memos to Firebase's Realtime Database (RTDB)
1 parent e5e097a commit 173c03a

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/components/Editor.vue

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
<button class="deleteMemoBtn" v-if="memos.length > 1" @click="deleteMemo">
2525
選択中のメモの削除
2626
</button>
27+
<button class="saveMemoBtn" @click="saveMemos">
28+
メモを保存する
29+
</button>
2730
</div>
2831
<textarea class="markdown" v-model="memos[selectedIndex].markdown"></textarea>
2932
<div class="preview" v-html="preview()"></div>
@@ -49,6 +52,17 @@ export default {
4952
selectedIndex: 0
5053
}
5154
},
55+
created: function() {
56+
firebase
57+
.database()
58+
.ref('memos/' + this.user.uid)
59+
.once('value') // 一回だけ、読み込みに利用することを指定している
60+
.then(result => {
61+
if (result.val()) {
62+
this.memos = result.val()
63+
}
64+
})
65+
},
5266
methods: {
5367
logout: function() {
5468
firebase.auth().signOut()
@@ -72,6 +86,12 @@ export default {
7286
if (this.selectedIndex > 0) {
7387
this.selectedIndex--
7488
}
89+
},
90+
saveMemos: function() {
91+
firebase
92+
.database()
93+
.ref('memos/' + this.user.uid)
94+
.set(this.memos)
7595
}
7696
}
7797
}
@@ -111,6 +131,10 @@ export default {
111131
margin-top: 20px;
112132
}
113133
134+
.deleteMemoBtn {
135+
margin: 10px;
136+
}
137+
114138
.markdown {
115139
width: 40%;
116140
height: 500px;

0 commit comments

Comments
 (0)