回答編集履歴
1
各コールバックに関して、使う場面の想定も含め追記
test
CHANGED
@@ -15,3 +15,107 @@
|
|
15
15
|
ライフサイクルの理解と使用は、フレームワーク使用の上での、初級から中級への第一歩となりますので、
|
16
16
|
|
17
17
|
よくよく勉強した上で、使っていかれるといいかと思います。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
# beforeCreate
|
24
|
+
|
25
|
+
インスタンスが生成される前に実行されます。
|
26
|
+
|
27
|
+
(インスタンスを生成することを、ほとんどの場合、初期化、という)
|
28
|
+
|
29
|
+
ようは、Vueが、**これからいろいろ処理始めますよー**って時に実行されるものです。
|
30
|
+
|
31
|
+
この時点では、ほとんど変数の処理などがされていない状態なので、
|
32
|
+
|
33
|
+
できることは少ないでしょう。
|
34
|
+
|
35
|
+
ただし、一番先に実行されるので、**Ajaxなどの非同期処理**を先に走らせておくと、
|
36
|
+
|
37
|
+
処理時間の節約になると思われます。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# created
|
42
|
+
|
43
|
+
Vueインスタンスが生成完了した時に呼ばれます。
|
44
|
+
|
45
|
+
Vueの変数などが一通り用意された状態なので、様々な処理が可能になった段階です。
|
46
|
+
|
47
|
+
まだ、HTML要素の生成は完了していないので、
|
48
|
+
|
49
|
+
HTMLにマウントさせる変数の用意や、変更処理を行うのに適したコールバックだと思われます。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
# beforeMount
|
54
|
+
|
55
|
+
> これは、インスタンスが作成された後、elementへのマウントされる前で実行されます。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
ようは、これから**HTML要素に変数の反映などを行なっていきますよー**という段階で呼ばれるということです。
|
60
|
+
|
61
|
+
マウントさせる変数の最終調整や、`created`での非同期処理が完了したかどうかの確認も行いやすいと思います。
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
# mounted
|
66
|
+
|
67
|
+
HTMLへのマウントが完了した段階でよばれます。
|
68
|
+
|
69
|
+
ようは、マウントさせたい変数などが、HTMLに反映された段階で呼ばれるコールバックです。
|
70
|
+
|
71
|
+
(この後レンダリングが順次行われる)
|
72
|
+
|
73
|
+
なので、**変数が反映された後に、改めて処理を行いたい**という時に、有用なコールバックでしょう。
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
# beforeUpdate
|
78
|
+
|
79
|
+
> データの更新があった時に、rerenderされる前に実行されます。
|
80
|
+
|
81
|
+
更新前の既存のDOMに対してアクセスすることができます。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
DOMにアクセス可能なので、DOMの状態によっては、やっぱ処理を変えたい、などの判別が可能になるかと。
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
# updated
|
90
|
+
|
91
|
+
> データの更新があった時に、rerenderされた後に実行されます
|
92
|
+
|
93
|
+
このフックでは、状態変化を行うような処理は推奨されていません。
|
94
|
+
|
95
|
+
なぜならばそれが原因で無限ループに入ってしまう可能性があるからです。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
とある通りです。
|
100
|
+
|
101
|
+
変数の変更がある度に実行されるので、
|
102
|
+
|
103
|
+
何かと便利ではあるのですが、そこでさらに変数の変更を行なってしまうと、無限ループになるよ、という、
|
104
|
+
|
105
|
+
少し注意が必要なコールバックのようですね。
|
106
|
+
|
107
|
+
例えば、`created`の段階で、重い非同期処理をかけており、
|
108
|
+
|
109
|
+
その処理が終わり、変数の変更がかかった時も呼ばれるので、
|
110
|
+
|
111
|
+
そこで、改めて、マウント変数に値を反映させる、などの使い方が想定されます。
|
112
|
+
|
113
|
+
ただし、上記にある通り、無限ループになる可能性があるので、
|
114
|
+
|
115
|
+
変数の変更をさらにする場合は特に、変数の値によって、処理をさせない、など工夫が必要かと。
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
あと何個かあるようですが、常時使いそうなものをまとめてみました。
|
120
|
+
|
121
|
+
参考になれば幸いです。
|