vue.jsのv-modelでフォームの値を受け渡しているのですがユーザーがフォームに入力した以外の値も一緒に贈りたいと考えています。コードは下記になります。
import Vue from 'vue/dist/vue.esm'; import App from '../app.vue' var VueFire = require("vuefire"); var Firebase = require("firebase"); var firetalks = firebase.database().ref('talks') var chat = new Vue({ el: "#chat", data: { message: { user_id:'', board_id:'', contents:'', } }, firebase: { talks: firetalks }, methods: { addMessage: function(){ firetalks.push(this.message) this.message.user_id = '' this.message.board_id = '' this.message.contents = '' } } })
html
<div class="form-inline" id="chat"> <form v-on:submit.prevent="addMessage"> <textarea v-model="message.user_id" class="hidden" value="1"></textarea> <textarea v-model="message.board_id" class="hidden" value=""></textarea> <input type="text" name="" v-model="message.contents" class="col-sm-8 form-control show_form"> <button type="submit" name="button" class="btn btn-primary col-sm-3">送信</button> </form> </div>
railsのform→v-model→firebaseという順に渡しているのですがuser_idなども一緒にfirebaseに格納したいです。下記を試したのですが上手くいかず。。。なにかいいてはあるでしょうか?
- viewに変数をvalueに書く→vue.jsは初期値を無視
- viewに変数をtextareaで囲う→これもおそらく上記の理由で駄目
- jsをjs.erbにしてjsに直接変数を書く→うごかず
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。