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プロジェクトをデプロイする方法
#docker ps チェック、すべてのポートがマップされています コンテナID イメージ コマンド...
1. コンテナに入るdocker run [オプション] イメージ名 [起動コンテナに渡されるコマン...
目次考える1. 貪欲な蛇の効果画像2. スネークの分析2.1 ゲーム開始機能2.2 運動機能2.2....
序文JavaScriptはWebフロントエンドで広く使われている言語の一つであり、Webアプリケーシ...
1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...
例示するDML(データ操作言語)とは、データベースの追加、削除、変更を行うための操作命令のことです。...
タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...
目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...
序文このプロジェクトには、衛星測位用のグラフィックスを含むチャートの要件があり、北半球または南半球の...
1. 成果を達成する 2. バックエンドから返されるデータ形式 「リスト」: [ { "i...
序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...
目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...
MySQL テーブルでの接続方法は実は非常に簡単なので、ここではその特徴を簡単にリストします。テーブ...
<br />この記事では、開発者ツールのさまざまなメニューについて簡単に説明しました。こ...
目次server1にnginxをデプロイするサーバーにlnmpを展開するノード3にhttpdをデプロ...