下記記事が非常に参考になるかと。
(使用例もわかりやすい)
Vueのライフサイクルを完全に理解した - Qiita
基本的な考え方としては、
各コールバックのタイミングで、必要な情報が入り次第、処理を挟みたいって時に使うものだと思います。
ライフサイクルの理解と使用は、フレームワーク使用の上での、初級から中級への第一歩となりますので、
よくよく勉強した上で、使っていかれるといいかと思います。
beforeCreate
インスタンスが生成される前に実行されます。
(インスタンスを生成することを、ほとんどの場合、初期化、という)
ようは、Vueが、これからいろいろ処理始めますよーって時に実行されるものです。
この時点では、ほとんど変数の処理などがされていない状態なので、
できることは少ないでしょう。
ただし、一番先に実行されるので、Ajaxなどの非同期処理を先に走らせておくと、
処理時間の節約になると思われます。
created
Vueインスタンスが生成完了した時に呼ばれます。
Vueの変数などが一通り用意された状態なので、様々な処理が可能になった段階です。
まだ、HTML要素の生成は完了していないので、
HTMLにマウントさせる変数の用意や、変更処理を行うのに適したコールバックだと思われます。
beforeMount
これは、インスタンスが作成された後、elementへのマウントされる前で実行されます。
ようは、これからHTML要素に変数の反映などを行なっていきますよーという段階で呼ばれるということです。
マウントさせる変数の最終調整や、created
での非同期処理が完了したかどうかの確認も行いやすいと思います。
mounted
HTMLへのマウントが完了した段階でよばれます。
ようは、マウントさせたい変数などが、HTMLに反映された段階で呼ばれるコールバックです。
(この後レンダリングが順次行われる)
なので、変数が反映された後に、改めて処理を行いたいという時に、有用なコールバックでしょう。
beforeUpdate
データの更新があった時に、rerenderされる前に実行されます。
更新前の既存のDOMに対してアクセスすることができます。
DOMにアクセス可能なので、DOMの状態によっては、やっぱ処理を変えたい、などの判別が可能になるかと。
updated
データの更新があった時に、rerenderされた後に実行されます
このフックでは、状態変化を行うような処理は推奨されていません。
なぜならばそれが原因で無限ループに入ってしまう可能性があるからです。
とある通りです。
変数の変更がある度に実行されるので、
何かと便利ではあるのですが、そこでさらに変数の変更を行なってしまうと、無限ループになるよ、という、
少し注意が必要なコールバックのようですね。
例えば、created
の段階で、重い非同期処理をかけており、
その処理が終わり、変数の変更がかかった時も呼ばれるので、
そこで、改めて、マウント変数に値を反映させる、などの使い方が想定されます。
ただし、上記にある通り、無限ループになる可能性があるので、
変数の変更をさらにする場合は特に、変数の値によって、処理をさせない、など工夫が必要かと。
あと何個かあるようですが、常時使いそうなものをまとめてみました。
参考になれば幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/03 12:28 編集
2020/09/03 12:32
2020/09/03 13:09
2020/09/04 00:35
2020/09/04 12:48
2020/09/04 14:20