質問編集履歴

3

該当ソースコード修正

2020/10/04 22:38

投稿

chan-kama
chan-kama

スコア6

test CHANGED
File without changes
test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
  <th>
108
108
 
109
- <div class="submit">{{ count }}</div>
109
+ <div class="sum">{{ count }}</div>
110
110
 
111
111
  </th>
112
112
 

2

初心者アイコン

2020/10/04 22:38

投稿

chan-kama
chan-kama

スコア6

test CHANGED
File without changes
test CHANGED
@@ -236,4 +236,4 @@
236
236
 
237
237
 
238
238
 
239
- v-model="count"でcountという名前でフォームの数値は取得していると思うので、そのcountをコンポーネントの外で使用することが出来れば解決出来るのではと感じています。
239
+ v-model="count"でcountという名前でフォームの数値は取得していると思うので、そのcountをコンポーネントの外で使用することが出来れば解決出来るのではと感じています。

1

書式を改善

2020/10/03 22:28

投稿

chan-kama
chan-kama

スコア6

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,15 @@
12
12
 
13
13
  {{count}}で表示させようとすると、エラーになります。
14
14
 
15
-
15
+ 「countはコンポーネント内で定義されているので、コンポーネントの外では使えません」といった意味のエラーメッセージだと思います。
16
+
17
+
18
+
19
+ 私としても、「確かにその通りだよなあ」と思います。
20
+
21
+
22
+
23
+ コンポーネントの外の処理に問題があると思うので、new Vue({});の中にコードを書き加える必要があるのかと思いますが、具体的にどうすれば良いのかわかりません。
16
24
 
17
25
  ```
18
26
 
@@ -28,50 +36,6 @@
28
36
 
29
37
  ```HTML
30
38
 
31
- <!DOCTYPE html>
32
-
33
- <html lang="ja">
34
-
35
- <head>
36
-
37
- <meta charset="UTF-8">
38
-
39
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
40
-
41
-
42
-
43
- <!-- Normalize CSS -->
44
-
45
- <link rel="stylesheet" href="normalize.css">
46
-
47
-
48
-
49
- <!-- BootStrap CSS -->
50
-
51
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
52
-
53
-
54
-
55
- <!-- Style CSS -->
56
-
57
- <link rel="stylesheet" href="style.css">
58
-
59
-
60
-
61
- <!-- Vue.js(開発用) -->
62
-
63
- <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
64
-
65
-
66
-
67
- <title>おいらせ町ファインボール点数計算Webアプリ</title>
68
-
69
- </head>
70
-
71
- <body>
72
-
73
- <h1 class="page-header text-primary">ファインボール点数計算アプリ</h1>
74
-
75
39
  <table class="table table-bordered">
76
40
 
77
41
  <!-- 見出し行 -->
@@ -114,39 +78,29 @@
114
78
 
115
79
  <counter></counter>
116
80
 
117
- <hoop-in></hoop-in>
118
-
119
- </th>
81
+ </th>
120
-
82
+
121
- <th>
83
+ <th>
122
-
84
+
123
- <counter></counter>
85
+ <counter></counter>
124
-
125
- <hoop-in></hoop-in>
86
+
126
-
127
- </th>
87
+ </th>
128
-
88
+
129
- <th class="bg-light">
89
+ <th class="bg-light">
130
-
90
+
131
- <counter></counter>
91
+ <counter></counter>
132
-
133
- <hoop-in></hoop-in>
92
+
134
-
135
- </th>
93
+ </th>
136
-
94
+
137
- <th>
95
+ <th>
138
-
96
+
139
- <counter></counter>
97
+ <counter></counter>
140
-
141
- <hoop-in></hoop-in>
98
+
142
-
143
- </th>
99
+ </th>
144
-
100
+
145
- <th class="bg-light">
101
+ <th class="bg-light">
146
-
102
+
147
- <counter></counter>
103
+ <counter></counter>
148
-
149
- <hoop-in>ゴールイン</hoop-in>
150
104
 
151
105
  </th>
152
106
 
@@ -170,101 +124,13 @@
170
124
 
171
125
  </tr>
172
126
 
173
- <!-- 2行目 -->
174
-
175
- <tr>
176
-
177
- <th>B</th>
178
-
179
- <th class="bg-light">
180
-
181
- <counter></counter>
182
-
183
- <hoop-in></hoop-in>
184
-
185
- </th>
186
-
187
- <th>
188
-
189
- <counter></counter>
190
-
191
- <hoop-in></hoop-in>
192
-
193
- </th>
194
-
195
- <th class="bg-light">
196
-
197
- <counter></counter>
198
-
199
- <hoop-in></hoop-in>
200
-
201
- </th>
202
-
203
- <th>
204
-
205
- <counter></counter>
206
-
207
- <hoop-in></hoop-in>
208
-
209
- </th>
210
-
211
- <th class="bg-light">
212
-
213
- <counter></counter>
214
-
215
- <hoop-in>ゴールイン</hoop-in>
216
-
217
- </th>
218
-
219
- <th>
220
-
221
- <div class="submit"></div>
222
-
223
- </th>
224
-
225
- <th class="bg-light">
226
-
227
- <div class="addition"></div>
228
-
229
- </th>
230
-
231
- <th>
232
-
233
- <div class="total"></div>
234
-
235
- </th>
236
-
237
- </tr>
238
-
239
127
  </tbody>
240
128
 
241
129
  </table>
242
130
 
243
131
 
244
132
 
245
- <!-- BootStrap JavaScript -->
246
-
247
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
248
-
249
- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
250
-
251
- <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
252
-
253
-
254
-
255
- <!-- FontAwesome JavaScript -->
256
-
257
- <script defer src="https://use.fontawesome.com/releases/v5.7.2/js/all.js"></script>
258
-
259
-
260
-
261
- <!-- Main.js -->
262
-
263
- <script src="main.js"></script>
264
-
265
- </body>
266
-
267
- </html>
133
+
268
134
 
269
135
  ```
270
136
 
@@ -346,78 +212,18 @@
346
212
 
347
213
 
348
214
 
215
+ new Vue({
216
+
217
+ el: '.counter',
218
+
349
- const hoopIn = {
219
+ components: {
350
-
351
- data() {
220
+
352
-
353
- return {
354
-
355
- result: "",
221
+ 'counter': counter,
356
-
222
+
357
- };
223
+ 'hoop-in': hoopIn,
358
224
 
359
225
  },
360
226
 
361
- methods: {
362
-
363
- hoopIn() {
364
-
365
- this.result = "○";
366
-
367
- },
368
-
369
- blank() {
370
-
371
- this.result = "";
372
-
373
- },
374
-
375
- },
376
-
377
- template: `
378
-
379
- <form class="ml-2 mr-2">
380
-
381
- <slot>フープイン</slot>
382
-
383
- <div class="form-group input-group">
384
-
385
- <div class="input-group-prepend">
386
-
387
- <button type="button" @click="hoopIn" class="btn btn-primary">+</button>
388
-
389
- </div>
390
-
391
- <input type="text" v-model="result" disabled class="form-control">
392
-
393
- <div class="input-group-append">
394
-
395
- <button type="button" @click="blank" class="btn btn-secondary">-</button>
396
-
397
- </div>
398
-
399
- </div>
400
-
401
- </form>
402
-
403
- `,
404
-
405
- };
406
-
407
-
408
-
409
- new Vue({
410
-
411
- el: '.counter',
412
-
413
- components: {
414
-
415
- 'counter': counter,
416
-
417
- 'hoop-in': hoopIn,
418
-
419
- },
420
-
421
227
  });
422
228
 
423
229
  ```
@@ -426,4 +232,8 @@
426
232
 
427
233
  ### 試したこと
428
234
 
429
- comuputedで打数合計する処理を書く必要があると思、いろいろ試てみたのですが、どうやってもダメでした。
235
+ new Vue({});の中にcomuputedを使った処理を書いたりしたのですが、ダメでした。
236
+
237
+
238
+
239
+ v-model="count"でcountという名前でフォームの数値は取得していると思うので、そのcountをコンポーネントの外で使用することが出来れば、解決出来るのではと感じています。