0
adminアプリを使って、新しい企業を作成し、テーブルに追加するアプリがあります。私はエントリを追加したり削除したりするメソッドを作成しましたが、更新メソッドの作成を続行する方法がわかりません。コンテンツはcontenteditableであり、保存ボタンをクリックするとそのコンテンツを保存したい。私CodePenを参照してください:http://codepen.io/Auzy/pen/177244afc7cb487905b927dd3a32ae61はこれを行うには、私がVueJSとVuefire以下の方法(ブートストラップをご容赦)を使用します。VueFireを使用してFirebaseデータを編集
<!-- Table -->
<table class="table table-striped">
<tr>
<th>Business Name</th>
<th>Vanity URL</th>
<th>Story</th>
<th>Actions</th>
</tr>
<tr v-for="post in posts" :key="post['.key']">
<td contenteditable v-model="newPost.title">{{post.title}}</td>
<td>{{post.content}}</td>
<td>{{post.story}}</td>
<td>
<button v-on:click="removePost(post)" type="button" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> Edit</button>
<button v-on:click="removePost(post)" type="button" class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span> Delete</button>
</td>
</tr>
</table>
</div>
</div>
そして、JS:
// Setup Firebase
let config = {
...firebase stuff...
}
let firebaseapp = firebase.initializeApp(config);
let db = firebaseapp.database();
let postsRef = db.ref('blog/posts')
// create Vue app
var app = new Vue({
// element to mount to
el: '#app',
// initial data
data: {
newPost: {
title: '',
content: '',
story: ''
}
},
// firebase binding
// https://github.com/vuejs/vuefire
firebase: {
posts: postsRef
},
// methods
methods: {
addPost: function() {
postsRef.push(this.newPost);
this.newPost.title = '';
this.newPost.content = '';
this.newPost.story = '';
},
removePost: function (post) {
postsRef.child(post['.key']).remove()
toastr.success('Business removed successfully')
}
}
})
スリニバスDamam、私はcodepenにあなたの例で見てきたと私はそれは私が解決するために探していると同じ問題を抱えていることに気づきました。 editボタンをクリックすると、単に 'editPost'メソッドが呼び出されますが、代わりに 'updatePost'を呼び出して、post.title = "fooのようなteポストへの実際の変更を行うと、あなたがクリックしただけでなく、他のものも投稿してください。理由は何ですか? –
Raul Marquesと同じことが私に起こっています。 –