回答編集履歴

3

補足

2020/03/08 12:50

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -1,4 +1,4 @@
1
- 配列が2段になっているので、以下のように2段ループすればいいと思います。なおAPI結果はそのまま`this.tasks`にした前提です。
1
+ 配列が2段になっているので、以下のように2段ループすればいいと思います。なおAPI結果はそのまま`this.tasks`に保存した場合です。
2
2
 
3
3
  ```
4
4
 

2

test.jsonが想定していた内容と違っていたのでコードを修正

2020/03/08 12:50

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -1,16 +1,18 @@
1
- tasksの初期値が配列`[]`になっていますがオブジェクト`{}`にすれば表示されると思います
1
+ 配列が2段になっているので以下のよう2段ループすればいいと思います。なおAPI結果はそのまま`this.tasks`にした前提です。
2
2
 
3
3
  ```
4
4
 
5
- data() {
5
+ <div v-for="(dailyTasks, i) in tasks" v-bind:key="i">
6
6
 
7
- return {
7
+ array={{ i }}
8
8
 
9
- tasks: {},
9
+ <div class="chart" v-for="(task, j) in dailyTasks" v-bind:key="j">
10
10
 
11
- };
11
+ task={{ task.task }}
12
12
 
13
- },
13
+ </div>
14
+
15
+ </div>
14
16
 
15
17
  ```
16
18
 
@@ -20,7 +22,7 @@
20
22
 
21
23
 
22
24
 
23
- 動作確認したコードも貼っておきます
25
+ 動作確認したコード全体も貼っておきます
24
26
 
25
27
  ```
26
28
 
@@ -28,11 +30,15 @@
28
30
 
29
31
  <div>
30
32
 
31
- <div class="chart" v-for="(task, i) in tasks" v-bind:key="i">
33
+ <div v-for="(dailyTasks, i) in tasks" v-bind:key="i">
32
34
 
33
- {{ task }}
35
+ array={{ i }}
34
36
 
37
+ <div class="chart" v-for="(task, j) in dailyTasks" v-bind:key="j">
38
+
39
+ task={{ task.task }}
40
+
35
- <!-- テスト表示 -->
41
+ </div>
36
42
 
37
43
  </div>
38
44
 
@@ -54,7 +60,7 @@
54
60
 
55
61
  return {
56
62
 
57
- tasks: {}
63
+ tasks: []
58
64
 
59
65
  };
60
66
 
@@ -72,13 +78,7 @@
72
78
 
73
79
  var resp = await axios.get("./task.json");
74
80
 
75
- for (var i in resp.data) {
76
-
77
- this.$set(this.tasks, i, resp.data[i]);
81
+ this.tasks = resp.data;
78
-
79
- }
80
-
81
- console.log(this.tasks); // ここのは狙いのデータが表示される
82
82
 
83
83
  }
84
84
 
@@ -89,3 +89,7 @@
89
89
  </script>
90
90
 
91
91
  ```
92
+
93
+
94
+
95
+ ※ test.jsonが想定していた内容と違っていたので回答を修正しています

1

追記

2020/03/08 12:49

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -13,3 +13,79 @@
13
13
  },
14
14
 
15
15
  ```
16
+
17
+
18
+
19
+ ----
20
+
21
+
22
+
23
+ 動作確認したコードも貼っておきます
24
+
25
+ ```
26
+
27
+ <template>
28
+
29
+ <div>
30
+
31
+ <div class="chart" v-for="(task, i) in tasks" v-bind:key="i">
32
+
33
+ {{ task }}
34
+
35
+ <!-- テスト表示 -->
36
+
37
+ </div>
38
+
39
+ </div>
40
+
41
+ </template>
42
+
43
+
44
+
45
+ <script>
46
+
47
+ import axios from "axios";
48
+
49
+
50
+
51
+ export default {
52
+
53
+ data() {
54
+
55
+ return {
56
+
57
+ tasks: {}
58
+
59
+ };
60
+
61
+ },
62
+
63
+ created() {
64
+
65
+ this.loadTasks();
66
+
67
+ },
68
+
69
+ methods: {
70
+
71
+ async loadTasks() {
72
+
73
+ var resp = await axios.get("./task.json");
74
+
75
+ for (var i in resp.data) {
76
+
77
+ this.$set(this.tasks, i, resp.data[i]);
78
+
79
+ }
80
+
81
+ console.log(this.tasks); // ここのは狙いのデータが表示される
82
+
83
+ }
84
+
85
+ }
86
+
87
+ };
88
+
89
+ </script>
90
+
91
+ ```