[Vue.js] ライフサイクルフック

Vue.jsにはライフサイクルという仕組みがあります。SPAでは動的なサイト構成になるので、どのようなタイミングで処理を行うかという指定が重要になってきます。

ライフサイクルフック一覧

ライフサイクルフックの表です。
プロパティ、DOMがどの時点で利用できるかを覚えておくことが重要になります。

ライフサイクルフック説明
beforeCreateインスタンス初期化時に実行
プロパティにはアクセス不可
createdインスタンスの初期化後に実行
プロパティへのアクセス可能
beforeMountマウント前、ディレクティブ実行前に実行
DOMへはアクセス不可
mountedマウント後に実行
★DOMへのアクセス可能
beforeUpdateDOMの更新前に実行
updateDOM更新後に実行
beforeDestroyインスタンス破棄前に実行
プロパティへのアクセス可能
destroyedインスタンス破棄後に実行
プロパティへのアクエス不可

公式ページにはフロー図が掲載されています。ライフサイクルを視覚的に理解できて良いです。
lifecycle(Vue.js公式ページより引用)
Vue.js公式ページ ライフサイクルダイアグラム

mounted

mountedはDOMの操作を行うことができます。
Vueインスタンスは下記のようになります。

ひとつ注意点があって、この状態では子コンポーネントがマウントされていることが保証されていません。親と子のコンポーネントがあるときに、親はDOMが使えて、子はDOMが使えていないというような状態になることがあります。$nextTickを使うと子コンポーネントがレンダリングされてから処理を実行することができます。



Author: webmaster