blog

Vue2.x-ソース学習 - 仮想DOM - 考える質問

A. 仮想 DOM を使うことで、DOM を手動で操作する必要がなくなります。 B. 仮想 DOM を使用すると、手動で DOM を操作する必要がないため、開発効率が大幅に向上します。 C. 仮想DO...

Jul 16, 2020 · 2 min. read

多肢選択問題 1.仮想DOMに関する次の記述は正しいです:

  • A. 仮想DOMを使用することで、手動でDOMを操作する必要がなくなり、アプリケーションのパフォーマンスが大幅に向上します。
  • B. 仮想DOMを使用することで、手作業でDOMを操作する必要がなく、開発効率が大幅に向上します。
  • C. 仮想 DOM はアプリケーションの状態を維持し、2 つの状態の違いを比較することで実 DOM を更新します。
  • D. 仮想 DOM は基本的に JavaScript オブジェクトであり、サーバーレンダリングや Weex 開発など、クロスプラットフォームに対応できます。

2.Snabbdomライブラリに関する以下の記述は正しくありません:

  • A. Snabbdomライブラリは、Vue.jsが借用している効率的な仮想DOMライブラリです。
  • B. h()関数を使用して、実際のDOM構造を記述するVNodeオブジェクトを作成します。
  • C. Snabbdom ライブラリ自体で、DOM プロパティ、イベント、スタイル、その他の操作を処理できます。
  • D. patch(oldVnode, null)を使用してページ要素をクリアします。

記述問題 1. patchVnode 関数の実行プロセスを簡単に説明してください。

  • hook.prepatchフック関数が定義されているかどうかを判断し、定義されている場合は、prepatchフック関数をトリガーします。
  • 更新フックを繰り返し実行
  • 新しいノードに、古いノードの text 属性と等しくない text 属性があるかどうかを判断します。
    • 古いノードに子がある場合は、removeVnodes を呼び出して古いノードの子を削除します。
    • setTextContent を使用して、新しいノードの textContent を設定します。
  • 新旧両方のノードに子があるかどうかを判断します。
    • 新旧ノードの子ノードが等しくない場合、updateChildrenを呼び出して子ノードを比較し、差分を更新します。
  • そうでない場合、新しいノードだけが子を持つ場合
    • 古いノードに text 属性があるかどうかを判断し、setTextContent を使用し、textContent をクリアします。
    • addVnodes を使用して、すべての子ノードを追加します。
  • そうでなければ、古いノードだけが子ノードを持っている場合、removeVnodes を使ってすべての子ノードを削除します。
  • そうでない場合は、古いノードだけが text 属性を持っているので、setTextContent を使って textContent をクリアします。
  • ポストパッチフック関数への最後の呼び出し
Read next

Js実行コンテキスト

変数を探すときは、現在のコンテキストで探され、見つからなければ、親実行コンテキストオブジェクトで探され、グローバルコンテキストオブジェクトまで探されます。このように複数のコンテキストにある変数オブジェクトは、スコープチェーンと呼ばれる連鎖したリストを形成します。 関数の実行コンテキストでのこの値は、関数がどのように呼び出されるかに依存します。参照されるオブジェクトから呼び出された場合は、そのオブジェクトに設定されます。

Jul 14, 2020 · 2 min read

HTTP共通ヘッダ

Jul 14, 2020 · 4 min read

フック 問題記録

Jul 11, 2020 · 1 min read

nginxの設定 wss

Jul 10, 2020 · 2 min read