レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

序文

vue3.0 が正式にリリースされて以来、多くの友人が vue3.0 に切り替えました。ここでは、皆さんの学習のためにまとめた 3.0 と 2.0 の原則とそれらの違いを書き留めておきます。

ステップ 1: vue2.0 のレスポンシブ原則

まずは公式サイトの説明をご覧ください。

プレーンな JavaScript オブジェクトを Vue インスタンスのデータ オプションに渡すと、Vue はオブジェクトのすべてのプロパティを反復処理し、Object.defineProperty を使用してすべてをゲッター/セッターに変換します。 Object.defineProperty は ES5 ではシムできない機能であるため、Vue は IE8 以前のバージョンのブラウザーをサポートしていません。

これらのゲッター/セッターはユーザーには見えませんが、内部的には Vue が依存関係を追跡し、プロパティがアクセスまたは変更されたときに変更を通知できるようにします。ここで注意する必要がある問題は、データ オブジェクトを印刷するときにブラウザー コンソールが getter/setter を異なる方法でフォーマットするため、より使いやすい検査インターフェイスを取得するには vue-devtools をインストールする必要がある場合があることです。

各コンポーネント インスタンスには対応するウォッチャー インスタンス オブジェクトがあり、コンポーネントのレンダリング中にプロパティを依存関係として記録します。後で依存関係のセッターが呼び出されると、ウォッチャーに再計算が通知され、関連するコンポーネントが更新されます。

私の理解はこうです

実際、API とソース コードを読んだことがある人にとって、v-model と responsive 原則が 2 つのレイヤーに分かれていることを知ることは難しくありません。

  • 最初のレイヤー、つまり最下層は、es5 の機能である Object.defineProperty で、getter と setter を通じてデータを更新します。
  • 2 番目のレイヤーはプレゼンテーション レイヤーです。v-model の原則を読んだことがある人なら誰でも、v-model にウォッチャーがあることをご存知でしょう。v-onwatcher はデータの変更を監視し、v-on はビューを更新します。

ステップ2: vue3.0のレスポンシブ原則

まずは公式サイトの説明をご覧ください。

これが、vue3.0 がオブジェクトのプロパティを直接削除および変更できる理由です。

ステップ3: 2つの違いをまとめる

----------- 3.0

(最初の 2 つは、2.0 のように変更するように設定する必要がなくなりました。直接変更できます)

1. 3.0プロキシは配列型のデータを直接変更できる

2. オブジェクト属性を直接追加および削除できます

3.3.0はIE12以上と互換性があります

4. コンポーネントのv-model構文がv-bind.syncに変更されます。

5. 同じ要素でv-forとv-ifを使用する優先順位が変更されました

6. v-for のキーの使用方法が変更されました

7. v-forのrefは配列として登録されなくなりました

8、destroy、beforeDestroyライフサイクルはunmountedとbeforeUnmountに名前が変更されました

9、<template>はレンダラー内のコンテンツとしてではなく、通常の要素として扱われます。

公式サイトで発表された主な変更点は次のとおりです

要約する

これで、vue2.0/3.0 のレスポンシブ原則と相違点に関するこの記事は終了です。vue2.0/3.0 のレスポンシブ原則に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue2.x の応答性の簡単な説明と例
  • Vue2は応答性を提供するためにprovide injectを実装しています
  • Vue のデータ応答性について少し学びましょう (Vue2 と Vue3 の違い)
  • Vue2x をベースにしたレスポンシブ アダプティブ カルーセル コンポーネント プラグイン VueSliderShow 関数の実装
  • Vue2.0のレスポンシブ性を実装するための基本的な考え方について簡単に説明します。
  • vue2.0 レスポンシブ アーキテクチャを理解して分析するための 100 行のコード
  • Vue2 レスポンシブシステム非同期キュー

<<:  nginxのアップストリーム設定と機能の詳細な説明

>>:  Windows 10 での MySQL 8.0.11 圧縮バージョンのインストール チュートリアル

推薦する

MySQL データベース操作 (作成、選択、削除)

MySQL データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

HTML での位置の使用に関する簡単な紹介

昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

Dockerはコンテナに入るためにnsenterツールを使用する

Dockerコンテナを使用する場合は、nsenterツールを使用する方が便利です。システムにない場合...

現在のマウススライドの座標を取得するVue+openlayer5メソッド

序文: Vue プロジェクトで現在のマウスの座標を取得するにはどうすればよいでしょうか。ここで共有す...

Vue2.x および Vue3.x のカスタム命令の使用方法とフック関数の原理を理解する

目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...

MySQL InnoDB インデックス拡張の詳細な説明

インデックス拡張: InnoDB は、プライマリ キー列をそのインデックスに追加することで、各セカン...

CSS3 で z-index が効かない問題の解決方法

最近、CSS3 と js の組み合わせを作成したのですが、z-index が有効にならないケースが多...

MySQLはデフォルトのエンジンと文字セットの詳細を変更します

目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...

CSS でテキストカラーグラデーションを実装する 3 つの方法

Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザイ...

あまり一般的ではないが便利な CSS 属性操作の完全ガイド

1. カスタムテキスト選択 ::選択{ 背景: 赤; 色: 黒; } 2. ビデオコントロールからダ...

Vue で webSocket を使用してリアルタイムの天気を更新する方法

目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

CSS 画像アニメーション効果のサンプルコード(フォトフレーム)

この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...

JavaScript デザインパターン 責任連鎖パターン

目次概要コードの実装パラメータ定義成し遂げる責任連鎖パターンの実装改善概要責任チェーン パターンは、...