前のフロントエンド プログラマーであれば、Vue 3 に精通している必要があります。現在最も人気のあるフロントエンド フレームワークの 1 つとして、多くの人がエントリーレベルのフレームワークとして使用しています。 しかし、Vue 3 が使用され始めてからかなり経っているにもかかわらず、Vue 3 には知識ポイントが多すぎて複雑すぎる、更新が速すぎるといった不満を言う人もいます。最近、Vue 3 では、スクリプト セットアップ構文シュガーという新しいテクノロジーが完成しました。 1. セットアップ構文シュガーとは何か当初、Vue 3.0 で公開された変数は、テンプレート内で使用する前に返される必要がありました。 これで、スクリプト タグにセットアップを追加するだけで済みます。コンポーネントは登録せずにインポートするだけで済み、プロパティとメソッドを返す必要はなく、セットアップ関数を記述する必要はなく、エクスポート デフォルトを記述する必要もありません。カスタム指示もテンプレートで自動的に取得できます。 <テンプレート> <my-component :num="num" @click="addNum" /> </テンプレート> <スクリプトの設定> 'vue' から { ref } をインポートします。 './MyComponent .vue' から MyComponent をインポートします。 // 通常のセットアップと同じように記述しますが、変数を返す必要はありません。const num = ref(0) // ここで定義されたnumは直接使用できます。const addNum = () => { // 関数は、戻り値にnum.value++を返さずに直接参照することもできます。 } </スクリプト> // キャメルケースを使用する必要があります 2. セットアップコンポーネントを使用して自動的に登録するスクリプトセットアップでは、導入したコンポーネントをコンポーネント経由で登録せずに直接使用することができ、現在のコンポーネントの名前を指定することはできません。ファイル名に基づいて自動的に決定されるため、name属性を記述する必要はありません。例: <テンプレート> <zi-hello></zi-hello> </テンプレート> <スクリプトの設定> './ziHello' から ziHello をインポートします </スクリプト> 3. セットアップ後に新しいAPIを追加するセットアップ関数がないので、どうやって props を取得して発行するのでしょうか? セットアップスクリプトの構文シュガーは、新しいAPIを提供します。 3.1 プロパティの定義親コンポーネントからプロパティを受け取るために使用されます。例: 親コンポーネントコード <テンプレート> <div class="die"> <h3>私は親コンポーネントです</h3> <zi-hello :name="名前"></zi-hello> </div> </テンプレート> <スクリプトの設定> './ziHello' から ziHello をインポートします 'vue' から {ref} をインポートします let name = ref('赵小磊========') </スクリプト> サブコンポーネントコード <テンプレート> <div> 私はサブコンポーネント {{name}} です // Zhao Xiaolei======== </div> </テンプレート> <スクリプトの設定> 'vue' から {defineProps} をインポートします。 定義プロパティ({ 名前:{ タイプ:文字列、 デフォルト:'私はデフォルト値です' } }) </スクリプト> 3.2 定義エミット子コンポーネントは親コンポーネントにイベントを渡します。例: サブコンポーネント <テンプレート> <div> 私は子コンポーネント {{name}} です <button @click="ziupdata">ボタン</button> </div> </テンプレート> <スクリプトの設定> 'vue' から {defineEmits} をインポートします。 //カスタム関数、親コンポーネントがトリガー可能 const em=defineEmits(['updata']) const ziupdata=()=>{ em("updata",'私は子コンポーネントの値です') } </スクリプト> 親コンポーネント <テンプレート> <div class="die"> <h3>私は親コンポーネントです</h3> <zi-hello @updata="updata"></zi-hello> </div> </テンプレート> <スクリプトの設定> './ziHello' から ziHello をインポートします const updata = (データ) => { console.log(data); //私は子コンポーネントの値です} </スクリプト> 3.3 定義エクスポーズコンポーネントは独自のプロパティを公開し、親コンポーネントで取得できます。例: サブコンポーネント <テンプレート> <div> 私は子コンポーネントです</div> </テンプレート> <スクリプトの設定> 'vue' から {defineExpose、reactive、ref} をインポートします。 ziage = ref(18)とする ziname = リアクティブ({ 名前:'趙小雷' }) //露出変数 defineExpose({ ジアージュ、 ジナメ }) </スクリプト> 親コンポーネント <テンプレート> <div class="die"> <h3 @click="isclick">私は親コンポーネントです</h3> <zi-hello ref="zihello"></zi-hello> </div> </テンプレート> <スクリプトの設定> './ziHello' から ziHello をインポートします 'vue' から {ref} をインポートします const zihello = ref() 定数isclick = () => { console.log('ref によって公開された値を受け取ります',zihello.value.ziage) console.log('reactive によって公開された値を受け取ります',zihello.value.ziname.name) } </スクリプト> 親コンポーネントによって得られた結果 Vue3 プロジェクトでセットアップ構文シュガーを有効にする方法https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar 1. まず、エディターのveturプラグインを閉じて、Volarを開きます。 2. 新しい tsconfig.json / jsconfig.json ファイルを作成し、compilerOptions に "strict": true および "moduleResolution": "node" 構成項目を追加します。 要約:以上がセットアップ構文シュガーの理解と知識です。ここではVue3.2のセットアップ構文シュガーについて紹介します。Vue3.2のセットアップ構文シュガーに関するより関連性の高いコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML(divレイヤー)を介してFLASHにリンクを追加するための実装コード
目次1. LAN内のプロキシ2. イントラネットの浸透イントラネット侵入とは何ですか?橋プロキシサー...
導入最近、Docker の ARM バージョンがあることを知りました。 hub.docker.com...
情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...
会議中に同僚から開発ライブラリを書き込めないとの報告を受けました。エラー メッセージは次のとおりでし...
背景私は新しいプロジェクト チームに配属されたので、プロジェクトでは js を使用する必要があります...
目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...
解決Docker for Macに付属するLinux仮想マシン(軽量ですが、ソケットファイルを使用し...
JavaScriptは、参考のためにランダムな点呼Webページを作成します。具体的な内容は次のとお...
CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...
エラーを報告するApache\Nginx サービスは正常に起動しましたが、MySQL は起動に失敗し...
シミュレーション環境を構築する:オペレーティングシステム: centos7メモリ: 1G 1.8.0...
これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...
HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...
目次1. 解凍コマンド1.1 構文1.2 オプション2. 例1. 解凍コマンドunzip コマンドは...
MySQL には、10 進数などの標準データ型だけでなく、float や double などの非標...