【Vue】Composition API のライフサイクル
目的:同じ論理的な関心事に関連するコードを並べること
setup コンポーネントオプション
・コンポーネントが作成される前に props が解決されると実行され、 Composition API のエントリポイントとして機能する
・setup オプションは props と後で紹介する context を受け付ける関数であるべき
・setup から返される全てのものは、コンポーネントの残りの要素 (computed プロパティ、methods、ライフサイクルフックなど) およびコンポーネントの template に公開される
・returnを書き忘れるとエラーでる
ライフサイクルフックを setup の中に登録する
・Composition API におけるライフサイクルフックは Options API と同様の名称だが、on というプレフィックスが付いている
例) mounted → onMounted
createdとmountedの違い
・createdはDOMがまだ作られていない状態で、mountedではDOMが作成された直後の状態
vue.jsのcreatedとmountedの違いを目で見て理解 | アールエフェクト
DOMとは
・JavaScriptからHTMLやCSSのデータを取得、操作するための仕組み
・htmlドキュメントをツリー構造として表現したもの
実際のコードで流れをみる
①最初に「app.js」が読み込まれる
・Vueのインスタンスを作成…new Vue()
・データの初期化…Init
・Created
・テンプレートを読み込んでレンダリング(HTMLで形をつくる)する
・createより後、mountより前で動いている、はず!
・views>welcome.blade.phpの「id="app"」に対して動く
VueのインスタンスをHTML(テンプレート)に入れる
※これ以降DOMは変わらない!!
マウント後にHTML要素を変更(ex:getElementByIdtとか)すると失敗する
onMountedを使いたいときは
constで動かしたいものを定義して、後からonMountedで呼び出す