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インデックスの使用に関するヒントと注意事項

推薦する

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

jsを使用してシンプルな弾幕スクリーンシステムを実装する

この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...

MySQL のロングトランザクション例の詳細な説明

序文: 「MySQL 入門」シリーズの記事は終了しました。今後も引き続き MySQL に焦点を当て、...

10 HTML テーブル関連タグ

実際、多くの人が「テーブルは絶対に使用すべきではないと聞いたことがある」と言いますが、これは絶対に間...

W3C チュートリアル (3): W3C HTML アクティビティ

HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...

WeChatアプレットが左右連携を実現

この記事では、WeChatアプレットの左右連動を実現するための具体的なコードを参考までに紹介します。...

Nginx キャッシュ設定例

Web アプリケーションの開発とデバッグを行う際には、テストのためにブラウザのキャッシュをクリアした...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...

SQL でテーブルにフィールドとコメントを追加する方法

1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

Linuxの同時実行は簡単です。このようにするだけです

並行処理関数 i の `grep server /etc/hosts | awk '{pri...

jsはタイトルと説明のキーワードを検出し、見つかった場合は置換するか他のページにジャンプします。

キーワード 一般タイトルには、クラック、キー、シリアル番号、キージェネレータなどの単語を含めることは...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...

MySQL curdate() 関数の詳細な例

MySQL CURDATE関数の紹介文字列コンテキストまたは数値コンテキストの YYYMMDD 形式...