回答編集履歴
1
内容修正
test
CHANGED
@@ -20,11 +20,15 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
ページが表示された時点ですでにカウントダウンは動作してていいって前提で書きます。
|
23
|
+
~~ページが表示された時点ですでにカウントダウンは動作してていいって前提で書きます。~~
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
[mounted](https://jp.vuejs.org/v2/api/#mounted)フックを使うといいと思います。
|
27
|
+
~~[mounted](https://jp.vuejs.org/v2/api/#mounted)フックを使うといいと思います。~~
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
このコンポーネントがマウントされた時点では、まだ`noweventlistchild`の中身が空っぽのようなので、`watch`を使ってプロパティを監視するように修正しました。
|
28
32
|
|
29
33
|
|
30
34
|
|
@@ -72,33 +76,33 @@
|
|
72
76
|
|
73
77
|
},
|
74
78
|
|
75
|
-
|
79
|
+
watch: {
|
76
80
|
|
77
|
-
|
81
|
+
noweventlistchild(new, old) {
|
78
82
|
|
79
|
-
//
|
83
|
+
// プロパティの配列でループ
|
80
84
|
|
81
|
-
|
85
|
+
new.forEach((item, index) => {
|
82
86
|
|
83
|
-
t
|
87
|
+
// dataに定義したcounts配列に初期値をぶっこむ
|
84
88
|
|
85
|
-
// dataに定義したcounts配列に初期値をぶっこむ
|
86
|
-
|
87
|
-
this.counts.push(this.formatRemain(this.getDuration(item.end_time)));
|
89
|
+
this.counts.push(this.formatRemain(this.getDuration(item.end_time)));
|
88
90
|
|
89
91
|
|
90
92
|
|
91
|
-
// 個別にsetIntervalをセットする
|
93
|
+
// 個別にsetIntervalをセットする
|
92
94
|
|
93
|
-
setInterval(() => {
|
95
|
+
setInterval(() => {
|
94
96
|
|
95
|
-
// 自分のindexのカウンタを更新する
|
97
|
+
// 自分のindexのカウンタを更新する
|
96
98
|
|
97
|
-
this.counts.splice(index, 1, this.formatRemain(this.getDuration(item.end_time)));
|
99
|
+
this.counts.splice(index, 1, this.formatRemain(this.getDuration(item.end_time)));
|
98
100
|
|
99
|
-
}, 1000);
|
101
|
+
}, 1000);
|
100
102
|
|
101
|
-
});
|
103
|
+
});
|
104
|
+
|
105
|
+
}
|
102
106
|
|
103
107
|
}
|
104
108
|
|
@@ -114,4 +118,4 @@
|
|
114
118
|
|
115
119
|
|
116
120
|
|
117
|
-
watch使えば、プロパティに渡ってきた配列の変更を検知してカウンタを追加したり削除したりすることもできると思います。
|
121
|
+
~~watch使えば、プロパティに渡ってきた配列の変更を検知してカウンタを追加したり削除したりすることもできると思います。~~
|