teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

vuefire導入後エラー追記

2018/01/06 03:20

投稿

you88
you88

スコア147

title CHANGED
File without changes
body CHANGED
@@ -34,4 +34,51 @@
34
34
  ```
35
35
 
36
36
 
37
- これでdataの3つの値をfirebaseに渡したいのですが上手く渡せていないです。。。
37
+ これでdataの3つの値をfirebaseに渡したいのですが上手く渡せていないです。。。
38
+
39
+
40
+ vuefireを導入しバインディングを試みました。
41
+ が、下記のエラーが出てしまい。。。
42
+
43
+ ```
44
+ import Vue from 'vue/dist/vue.esm';
45
+ import App from '../app.vue'
46
+ var Vue = require("vue");
47
+ var VueFire = require("vuefire");
48
+ var Firebase = require("firebase");
49
+
50
+ var firetalks = new Firebase("https://mchat-test-c402b.firebaseio.com/")
51
+ var chat = new Vue({
52
+ el: "#chat",
53
+ data: {
54
+ message: {
55
+ user_id:'',
56
+ board_id:'',
57
+ contents:'',
58
+ }
59
+ },
60
+ firebase: {
61
+ talks: firetalks
62
+ },
63
+ methods: {
64
+ addMessage: function(){
65
+ firetalks.push(this.message)
66
+ }
67
+ }
68
+ })
69
+ ```
70
+
71
+ html
72
+ ```
73
+ <div class="form-inline" id="chat">
74
+ <textarea v-model="message.user_id" class="hidden" value="<%= @current_user.id %>"></textarea>
75
+ <textarea v-model="message.board_id" class="hidden" value="<%= @post.id %>"></textarea>
76
+ <input type="text" name="" v-model="message.contents" class="col-sm-8 form-control show_form"></textarea>
77
+ <button type="submit" name="button" v-on:click="addMessage" class="btn btn-primary col-sm-3">送信</button>
78
+ </div>
79
+ ```
80
+
81
+ エラー内容
82
+ ```
83
+ firebase.js:136 Uncaught Error: Firebase.child failed: First argument was an invalid path: "talks/[object MouseEvent]". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
84
+ ```

1

不足部分追加

2018/01/06 03:20

投稿

you88
you88

スコア147

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  vue.jsのv-modelで受け取った値をfirebaseに保存したいんですがvueインスタンスのdataってどうやって渡せばいいんでしょうか?
2
2
 
3
3
  ```
4
+ var firetalks = new Firebase('https://mchat-test-c402b.firebaseio.com/');
4
5
  var chat = new Vue({
5
6
  el: "#chat",
6
7
  data: {
@@ -21,5 +22,16 @@
21
22
  }
22
23
  })
23
24
  ```
25
+ html
24
26
 
27
+ ```
28
+ <div class="form-inline" id="chat">
29
+ <textarea v-model="message.user_id" class="hidden"><%= @current_user.id %></textarea>
30
+ <textarea v-model="message.board_id" class="hidden"><%= @post.id %></textarea>
31
+ <input type="text" name="" v-model="message.contents" class="col-sm-8 form-control show_form"></textarea>
32
+ <button type="submit" name="button" v-on:click="addMessage" class="btn btn-primary col-sm-3">送信</button>
33
+ </div>
34
+ ```
35
+
36
+
25
37
  これでdataの3つの値をfirebaseに渡したいのですが上手く渡せていないです。。。