質問編集履歴

1

this.$refs.id.isGood(); → this.$refs[id]isGood();, created →mounted

2020/06/02 06:14

投稿

shun173
shun173

スコア4

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,9 @@
16
16
 
17
17
  TypeError: Cannot read property 'isGood' of undefined
18
18
 
19
+ at VueComponent.isGood (myscript.js:152)
20
+
19
- at Vue.<anonymous>
21
+ at Vue.<anonymous> (myscript.js:178)
20
22
 
21
23
  ```
22
24
 
@@ -124,7 +126,7 @@
124
126
 
125
127
  isGood: function () {
126
128
 
127
- this.$refs.id.isGood();
129
+ this.$refs[id].isGood(); //(← 152行目)
128
130
 
129
131
  this.gooded = true;
130
132
 
@@ -148,7 +150,7 @@
148
150
 
149
151
  },
150
152
 
151
- created: function () {
153
+ mounted: function () {
152
154
 
153
155
  axios.get('/snsapp/gooded_articles/')
154
156
 
@@ -166,9 +168,9 @@
166
168
 
167
169
  console.log(this.$refs); //(3)
168
170
 
169
- console.log(this.$refs.id); //(4)
171
+ console.log(this.$refs[id]); //(4)
170
-
172
+
171
- this.$refs.id.isGood(); //(5)
173
+ this.$refs[id].isGood(); //(5) (← 178行目)
172
174
 
173
175
  };
174
176
 
@@ -206,11 +208,13 @@
206
208
 
207
209
  (3) : {1: VueComponent, 2: VueComponent, 3: VueComponent, 6: VueComponent, 7: VueComponent, 8: VueComponent, 9: VueComponent}
208
210
 
209
- (4) : undefined
211
+ (4) : VueComponent
210
212
 
211
213
  (5) : TypeError: Cannot read property 'isGood' of undefined
212
214
 
215
+ at VueComponent.isGood (myscript.js:152)
216
+
213
- at Vue.<anonymous>
217
+ at Vue.<anonymous> (myscript.js:178)
214
218
 
215
219
  ```
216
220
 
@@ -218,8 +222,6 @@
218
222
 
219
223
  [Vue.js公式ガイド/特別な問題に対処する](https://jp.vuejs.org/v2/guide/components-edge-cases.html#%E5%AD%90%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%A8%E5%AD%90%E8%A6%81%E7%B4%A0%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9)を参考にしてref属性を設置して試してみたのですが上手くいきません。
220
224
 
221
- ref属性に直接文字列を入れた場合はthis.$refs."文字列"で、一つだけ取得できたのですが、数値(id)で指定するとundefinedになってしまいます。
222
-
223
225
  また、公式ガイドを読んでもどのようにメソッド呼び出しているのかいまいちよく分かりません。
224
226
 
225
227
  > ”公式ガイド一部抜粋”
@@ -245,3 +247,13 @@
245
247
  必要であればDjango側のコードも載せます。
246
248
 
247
249
  よろしくお願いします。
250
+
251
+
252
+
253
+ ###補足
254
+
255
+ お二方の回答でご指摘いただいた箇所を修正したらコンポーネントは呼び出せたようですが、メソッドを使おうとするとエラーが出ます。
256
+
257
+ エラー内容は上記の通りです。
258
+
259
+ よろしくお願いします。