Vue3.0 + TypeScript + Vite初体験の詳しい説明

Vue3.0 + TypeScript + Vite初体験の詳しい説明

プロジェクトの作成

: : 翻訳:

$ npm init vite-app <プロジェクト名>
$ cd <プロジェクト名>
$ npmインストール
$ npm 実行 dev

または糸:

$ yarn create vite-app <プロジェクト名>
$ cd <プロジェクト名>
$ 糸
$ 糸開発

プロジェクト構造

ここに画像の説明を挿入

メイン.js

メイン.ts

私の意見では、createApp() は vue アプリケーションのインスタンスであり、createApp はチェーン呼び出しをサポートしています。

アプリ.vue:

ここに画像の説明を挿入

これはvue2.0と互換性のある構文です。以下はvue3.0のrfcの記述方法です(まだ実験段階です)。
RFC公式説明

設定

データ

ここに画像の説明を挿入

セットアップは、作成されたvue2.0のライフサイクル機能とデータおよびメソッド(後述)を組み合わせる

属性(データ)とメソッド(メソッド)を直接エクスポートできます

ここに画像の説明を挿入

現在の名前はレスポンシブではないことがわかります。レスポンシブ性については後ほど紹介します。

方法

ここに画像の説明を挿入

方法はデータと同じで、直接エクスポートします

効果:

ここに画像の説明を挿入

コンポジションAPI

参照

声明:

ここに画像の説明を挿入

Refはいくつかの基本的なプロパティをレスポンシブにすることができます

ここに画像の説明を挿入

反応的な

ここに画像の説明を挿入

上の図は、reactive と ref を混在させて使用した場合を示しています。効果については、以下のコードをコピーして体験してください。

<テンプレート>
 <div id="アプリ">
 <div v-for="(item, index) in state.persons" :key="index">
  {{ item.name }} は {{ item.age }} 歳です</div>
 <div>
  <h3>zhangsan の年齢を修正</h3>
  <input type="text" v-model="zAge" />
 </div>
 </div>
</テンプレート>

<script lang="ts" setup="props, {emit}">
'vue' から { reactive, ref } をインポートします。
エクスポートconst zAge = ref(12)
エクスポートconst状態=リアクティブ({
 人数:
 {
  名前: 'zhangsan'、
  年齢: zAge
 },
 {
  名前: 'lisi',
  年齢: 20
 }
 ]
})
</スクリプト>

計算された

声明:

ここに画像の説明を挿入

効果:

ここに画像の説明を挿入

ウォッチエフェクト

声明:

ここに画像の説明を挿入

効果:

ここに画像の説明を挿入

コンポーネントシステム

グローバル登録

アプリ.vue

ここに画像の説明を挿入

メイン.js

ここに画像の説明を挿入

部分登録

アプリ.vue

ここに画像の説明を挿入

設定

小道具

ここに画像の説明を挿入

props オブジェクトを宣言します。watchEffect では、console.log(props.msg) を使用して、親コンポーネントから渡された値を確認します。プロパティのデフォルト値とフィルタリングは現在検討中です。具体的な機能については、vue2.0 propsの機能を参照してください。

コンテクスト

ここに画像の説明を挿入

コンポーネントコンテキスト

放出する

ここに画像の説明を挿入

放出関数を宣言します。setup="props, {emit}" 内に放出を記述します。そうしないとエラーが報告されます。具体的な関数については、vue2.0 の放出関数を参照してください。

ここに画像の説明を挿入

ここに画像の説明を挿入

以下に、emit 関数の使用例をいくつか示します。

属性

調査中…

スロット

調査中…

vue ディレクティブ

v-modelに焦点を当て、他のvue命令は2.0と同じです

vモデル

ここに画像の説明を挿入

Vue3.0 では、vue2.0 では利用できなかった複数の双方向バインディング パラメータのサポートが開始されました。v-model の後に他の属性がない場合、このコンポーネント内のデフォルト値は modelValue になります。v-model を更新する場合は、 emit('update:modelValue', data)を実行して、v-model のデフォルト値 modelValue を更新する必要があります。 v-model の後に属性 (dragValue) がある場合、このコンポーネント内の値はこの属性名 (dragValue) になります。v-model:dragValue の値を更新する場合は、 emit('update:dragValue', data)を実行して v-model のカスタム値を更新する必要があります。

詳しい使用方法については、公式ドキュメントを参照してください: https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-script-setup.md

Vue3.0 + TypeScript + Vite の初期体験に関するこの記事はこれで終わりです。Vue3.0 TypeScript Vite 関連のコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vite と Vue CLI の長所と短所
  • vite2.0+vue3 モバイルプロジェクトの詳細な説明
  • vue3 プロジェクトを素早く構築し、関連機能を紹介する vite+ts の詳細な説明
  • Vue3.0+vite2は動的非同期コンポーネントの遅延読み込みを実装します
  • vite を使用して vue3 アプリケーションを構築する方法
  • 古い Vue プロジェクトに Vite サポートを追加する方法

<<:  Linux システムで Code Cloud にプロジェクトをアップロードする方法

>>:  MySQLインデックスの使用に関するヒントと注意事項

推薦する

Redo ログと Undo ログに基づく MySQL クラッシュ回復の分析

目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...

mysql5.7.14 解凍版インストールグラフィックチュートリアル

MySQL は、コミュニティ エディション (コミュニティ サーバー) とエンタープライズ エディシ...

カンマで区切られたmysqlの分割関数の実装

1: 文字列を区切るためのストアドプロシージャを定義する 区切り文字 $$ `mess`$$ を使う...

JavaScript 関数の高度な説明

目次関数定義方法関数呼び出し(6種類)これは問題を指摘している厳密モード高階関数閉鎖再帰: 自分自身...

Dockerで構築されたコンテナにpingツールをインストールする

Centos や Ubuntu など、Docker が pull する Base イメージは最もシン...

MySQL の厄介な Aborted 警告をケーススタディで分析する

この記事では主に、MySQL の Aborted アラームに関する関連コンテンツを紹介し、参考と学習...

JavaScript で大きなファイルの並列ダウンロードを実装する方法

目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...

JavaScript の 3 つの BOM オブジェクト

目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...

mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

シナリオ昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル...

MySQLデータベースのリアルタイムバックアップの知識ポイントを詳しく解説

序文リアルタイムのデータベース バックアップの必要性は非常に一般的です。MySQL 自体はレプリケー...

Typora コードブロックのカラーマッチングとタイトルシリアル番号実装コード

効果: タイトルには独自のシリアル番号があり、コードブロックには配色があり、コードブロックの左上隅に...

Docker nginxのインストールと設定方法

DockerでNginxイメージをダウンロードする docker プル nginx Docker イ...

VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...

GDBデバッグMySQL実戦ソースコードコンパイルとインストール

ソースコードをダウンロード git クローン https://github.com/mysql/my...

Dockerの基礎

序文: Docker はオープンソースのアプリケーション コンテナ エンジンであり、開発者はこれを使...