[解決済み】Vue.jsのcreatedイベントとmountedイベントの違いについて
質問
Vue.jsのドキュメントでは
created
と
mounted
イベントは次のようになります。
created
インスタンス生成後、同期的に呼び出される。この時点で この段階では、インスタンスはオプションの処理を終了しています。 データ観測、計算されたプロパティ。 メソッド、ウォッチ/イベントコールバック。しかし、マウント・フェーズはまだ が開始され、$el プロパティはまだ使用できません。
mounted
インスタンスがマウントされた後に呼び出され、elが置き換えられます。 を新しく作成したvm.$elに置き換えてください。もし、ルートインスタンスが を使用すると、vm.$el も文書内の要素になります。 が呼ばれる。
このフックはサーバーサイドレンダリング時には呼び出されません。
理屈はわかるのですが、私は 2つの質問 ということです。
-
というケースはありますか?
created
よりもmounted
? -
を使用することができます。
created
イベントは、現実の (実コードの) 環境では の状況を教えてください。
どのように解決するのですか?
created()
: オプションの処理が終了しているので、リアクティブにアクセスできます。
data
プロパティを変更することができます。この段階では、DOMはまだマウントされていませんし、追加もされていません。したがって、ここでDOMの操作を行うことはできません。
mounted()
は、DOM がマウントまたはレンダリングされた後に呼び出されます。ここで DOM 要素にアクセスし、innerHTML を取得するなどの DOM 操作を行うことができます。
console.log(element.innerHTML)
それではご質問を。
-
Is there any case where created would be used over mounted?
Createdは、一般的にバックエンドAPIからデータを取得し、データプロパティに設定するために使用されます。しかし、SSRでは
mounted()
フックが存在しないため、データ取得などのタスクはcreatedフックのみで行う必要があります。
-
What can I use the created event for, in real-life (real-code) situation?
レンダリングに必要な初期データ(JSONなど)を外部APIから取得し、任意のリアクティブデータプロパティに代入する。
data:{
myJson : null,
errors: null
},
created(){
//pseudo code
database.get().then((res) => {
this.myJson = res.data;
}).catch((err) => {
this.errors = err;
});
}
関連
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み】event.stopPropagationとevent.preventDefaultの違いは何ですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] substrとsubstringの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングした
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】SyntaxError: 'import' と 'export' は 'sourceType: module' とだけ表示されるかもしれない - Gulp
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]