1. Vue2との比較1. Vue3の新機能
2. Vue2とVue3の応答原理の比較
欠点:
解決:
3. 配列の変更を検出するために配列メソッドを書き直す
アドバンテージ:
欠点:
上記引用「[Vue2 と Vue3 の比較]」(https://www.cnblogs.com/yaxinwang/p/13800734.html) 4. 直感的な体験現状、実際の業務ではVue2が主流となっている
2. Vue3 を使用したデータバインディングの例前回の記事 Vue3 統合 HTTP ライブラリ axios の詳細 では、バックグラウンド データの返却を実現し、フロント ページに表示しました (コンソールではありますが) が、これはまだ 90% 程度しか完了していないことを意味します。 次のステップは、バックグラウンド インターフェースからデータを返す方法と、それをページに表示する方法です。 1. refを使用してデータバインディングを実装する
<テンプレート> <a-レイアウト> <a-layout-sider width="200" style="background: #fff"> <a-メニュー モード="インライン" v-model:selectedKeys="selectedKeys2" v-model:openKeys="openKeys" :style="{ 高さ: '100%', 右境界線: 0 }" > <a-サブメニューキー="sub1"> <テンプレート #タイトル> <span> <ユーザーによるアウトライン /> サブナビ1 </span> </テンプレート> <a-menu-item key="1">オプション1</a-menu-item> <a-menu-item key="2">オプション2</a-menu-item> <a-menu-item key="3">オプション3</a-menu-item> <a-menu-item key="4">オプション4</a-menu-item> </a-サブメニュー> <a-サブメニューキー="sub2"> <テンプレート #タイトル> <span> <ラップトップのアウトライン /> サブナビ2 </span> </テンプレート> <a-menu-item key="5">オプション5</a-menu-item> <a-menu-item key="6">オプション6</a-menu-item> <a-menu-item key="7">オプション7</a-menu-item> <a-menu-item key="8">オプション8</a-menu-item> </a-サブメニュー> <a-サブメニューキー="sub3"> <テンプレート #タイトル> <span> <通知の概要 /> サブナビ3 </span> </テンプレート> <a-menu-item key="9">オプション9</a-menu-item> <a-menu-item key="10">オプション10</a-menu-item> <a-menu-item key="11">オプション11</a-menu-item> <a-menu-item key="12">オプション12</a-menu-item> </a-サブメニュー> </a-メニュー> </a-layout-sider> <レイアウトコンテンツ :style="{ 背景: '#fff', パディング: '24px', マージン: 0, 最小高さ: '280px' }" > {{電子書籍}} <前> {{電子書籍}} </pre> </a-レイアウトコンテンツ> </a-レイアウト> </テンプレート> <script lang="ts"> 'vue' から {defineComponent、onMounted、ref} をインポートします。 'axios' から axios をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'ホーム'、 設定(){ console.log('セットアップ'); 定数 ebooks = ref(); マウント時(()=>{ axios.get("http://localhost:8888/ebook/list?name=spring").then(応答 =>{ console.log("マウントされた状態"); const データ = 応答.データ; ebooks.value=データコンテンツ; }) }) 戻る { 電子書籍 } } }); </スクリプト> 知識ポイント:
再コンパイルしてサービスを開始すると、次のような結果が表示されます。 2. リアクティブを使用してデータバインディングを実装する同様に <テンプレート> <a-レイアウト> <a-layout-sider width="200" style="background: #fff"> <a-メニュー モード="インライン" v-model:selectedKeys="selectedKeys2" v-model:openKeys="openKeys" :style="{ 高さ: '100%', 右境界線: 0 }" > <a-サブメニューキー="sub1"> <テンプレート #タイトル> <span> <ユーザーによるアウトライン /> サブナビ1 </span> </テンプレート> <a-menu-item key="1">オプション1</a-menu-item> <a-menu-item key="2">オプション2</a-menu-item> <a-menu-item key="3">オプション3</a-menu-item> <a-menu-item key="4">オプション4</a-menu-item> </a-サブメニュー> <a-サブメニューキー="sub2"> <テンプレート #タイトル> <span> <ラップトップのアウトライン /> サブナビ2 </span> </テンプレート> <a-menu-item key="5">オプション5</a-menu-item> <a-menu-item key="6">オプション6</a-menu-item> <a-menu-item key="7">オプション7</a-menu-item> <a-menu-item key="8">オプション8</a-menu-item> </a-サブメニュー> <a-サブメニューキー="sub3"> <テンプレート #タイトル> <span> <通知の概要 /> サブナビ3 </span> </テンプレート> <a-menu-item key="9">オプション9</a-menu-item> <a-menu-item key="10">オプション10</a-menu-item> <a-menu-item key="11">オプション11</a-menu-item> <a-menu-item key="12">オプション12</a-menu-item> </a-サブメニュー> </a-メニュー> </a-layout-sider> <レイアウトコンテンツ :style="{ 背景: '#fff', パディング: '24px', マージン: 0, 最小高さ: '280px' }" > <strong>データバインディングの結果に ref を使用する:</strong><p></p> {{電子書籍1}} <p></p> <前> {{電子書籍1}} </pre> <strong>データバインディング結果に ReactiveF を使用する:</strong><p></p>{{ebooks2}} <p></p> <前> {{電子書籍2}} </pre> </a-レイアウトコンテンツ> </a-レイアウト> </テンプレート> <script lang="ts"> 'vue' から {defineComponent、onMounted、ref、reactive、toRef} をインポートします。 'axios' から axios をインポートします。 エクスポートデフォルトdefineComponent({ 名前: 'ホーム'、 設定(){ console.log('セットアップ'); //データバインディングにはrefを使用します。const ebooks=ref(); // リアクティブデータバインディングを使用する const ebooks1 = reactive({books:[]}) マウント時(()=>{ axios.get("http://localhost:8888/ebook/list?name=spring").then(応答 =>{ console.log("マウントされた状態"); const データ = 応答.データ; ebooks.value=データコンテンツ; ebooks1.books = データコンテンツ; }) }) 戻る { 電子書籍1: 電子書籍、 ebooks2:toRef(ebooks1、"書籍") } } }); </スクリプト> 知識ポイント: 再コンパイルしてサービスを開始すると、次のような結果が表示されます。 3. 最後にフロントエンド開発が人々に与える達成感は、 これで、Vue3 を使用したデータバインディングとリストデータの表示に関するこの記事は終了です。Vue3 のデータバインディングとリストデータの表示に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL パスワードに特殊文字が含まれている場合とコマンドラインからログインする場合
>>: dockerを使用してdubboプロジェクトをデプロイする方法
目次序文なぜいくらですか?パラメータの数デフォルトパラメータ残りのパラメータ要約する序文今日は関数の...
この記事では、Linux yumを使用してmysql5.6をインストールする簡単な手順を参考までに紹...
色のコントラストと調和対照的な状況では、色の相互作用は単一の色によって与えられる感覚とは異なります。...
app.js: スタートアップファイル、またはエントリファイルpackage.json: プロジェク...
1. mysqlbackup の紹介mysqlbackup は、MySQL Enterprise B...
1. カスタムテキスト選択 ::選択{ 背景: 赤; 色: 黒; } 2. ビデオコントロールからダ...
HTML に画像を挿入するには、画像を表示するための HTML タグが必要です。これは、img タ...
ページ内のテーブルの幅を width="600px" に設定した後も、幅が固定さ...
この記事はMySQL 8.0に基づいていますこの記事では、日付と時刻の操作のための MySQL 関数...
目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...
パート0 背景社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部...
目次概要setTimeout() の確認スリープ関数の書き方シンプルな選択ループで実行されますか?要...
1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...
この記事では、「'localhost' (10061) の MySQL サーバーに接...
この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...