同じ関数や HTML コードが複数回使用される場合は、それらをコンポーネントに抽出することを検討できます。コンポーネントの利点は、使用したいときに呼び出して、変更したいときにパラメータを渡すことができることです。 コンポーネントとは何かオブジェクト指向の考え方を使用して Vue コンポーネントを理解すると、すべてのものをオブジェクトに抽象化でき、クラスまたはコンポーネントにはプロパティと操作が含まれます。 たとえば、人間を構成要素として抽出すると、その基本的な属性には名前、年齢、国籍が含まれ、基本的な方法には食べる、寝る、走るなどが含まれます。 <スクリプト> エクスポートデフォルト{ 名前: '人'、 小道具: { 名前: { タイプ: 文字列、 必須: false、 デフォルト: '匿名' }, 年: { タイプ: 数値、 必須: false、 デフォルト: 0 }, 国: タイプ: 文字列、 必須: false、 デフォルト: '地球人' } }, メソッド: { 食べる() { consloe.log('食べる') }, 寝る() { console.log('スリープ') }, 走る() { console.log('実行中') } } } </スクリプト> オブジェクト指向プログラミングでは、コンストラクターはクラスのグローバル変数を初期化できるため、このアプローチはコンポーネントでも使用できます。 <person :age="20" :name="'シャオミン'" :country="'中国語'"></person> コンポーネントはデータと操作をカプセル化します。入力されたものは出力されなければなりません。コンポーネント内で何が起こっているかを気にする必要はありません。必要なのは、結果と提示される効果だけです。 カスタムイベント外部からコンポーネントのプロパティに直接アクセスできない場合はどうすればよいですか? $emit カスタム イベントを使用すると、外部からコンポーネント プロパティを取得できます。 <テンプレート> ... <button @click="handleClick">クリック</button> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: '人'、 メソッド: { ハンドルクリック() { this.$emit('getPerson', { 年齢: this.age, 名前: this.name, 国: this.country }) } } } </スクリプト> 外部コンポーネントが呼び出されたら、カスタム関数 <テンプレート> <div> <person :age="20" :name="'シャオミン'" :country="'中国語'" @getPerson="getPerson"></person> </div> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: 'テスト', メソッド: { getPerson(情報) { console.log(情報) } } } </スクリプト> 実際の事例Web 開発ではタグを使用することがありますが、タグはページ内で 1 回使用されるのではなく、複数回使用される可能性があると考えるかもしれません。さまざまな状況に合わせて、幅、高さ、色をカスタマイズすることもできます。 したがって、タグに関連する HTML コードと CSS をコンポーネントにカプセル化し、幅、高さ、およびタイプのパラメータを外部に公開することができます。使用時に、さまざまな状況に応じてカスタマイズする必要がある場合は、パラメータを渡すだけです。 <テンプレート> <表示 :style="{ 幅: 幅、高さ: 高さ }" :class="['owl-tag-' + タイプ]" クラス="owl-tag text-xs flex align-center justify-center" > <スロット></スロット> </ビュー> </テンプレート> <スクリプト> 名前: 'owl-tag', 小道具: { // 渡すことができる有効な値は primary | gray です タイプ: { タイプ: 文字列、 デフォルト: 'プライマリ' }, 幅: { タイプ: 文字列、 必須: false }, 身長: タイプ: 文字列、 必須: false } } </スクリプト> <スタイル> .owlタグ{ 境界線の半径: 8rpx; パディング: 6rpx 10rpx; } .owl-tag-primary { 色: 白; 背景色: #87cefa; } .owl-tag-gray { 色: #81868a; 背景色: #f0f1f5; } </スタイル> これらのタスクが完了すると、コンポーネントが定義されます。使いたいときに呼び出して、変更したいときにパラメータを渡すことができる。これがコンポーネントの利点です。 <テンプレート> <フクロウタグ :type="'プライマリ'" :height="'45rpx'" :width="'120rpx'" > 公式投稿</owl-tag> </テンプレート> type の値を gray に変更すると、次の効果が得られます。 これで、オブジェクト指向の考え方から Vue コンポーネントを理解するこの記事は終了です。より関連性の高い Vue コンポーネントのオブジェクト指向コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Windows に WSL をインストールして構成する方法
>>: MYSQLのバックアップデータのスケジュールクリアの特定の操作
<meta name="viewport" content="w...
1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...
1. zipインストールパッケージをダウンロードするMySQL サーバー 8.0.22 の圧縮パッ...
目次SQL文を挿入する前にレコードが既に存在するかどうかを確認するSQL挿入時の判断の簡単なコレクシ...
今日は春節の金貨の赤い封筒のアクティビティを作りました。なかなか良い出来だと思います。皆さんと共有し...
目次事件の原因解剖学ファイルの並べ替えファイルのソートが非常に遅いのですが、他に解決策はありますか?...
参考までに、Javascriptを使用してメッセージボードの例(メッセージ削除あり)を実装します。具...
目次概要フィルターの定義フィルターの使用カスタムグローバルフィルターローカルフィルター予防例1(ロー...
目次序文1. 現在のgccバージョン2. gccをインストールする3.gmpのインストール4.MPF...
以下の属性はブラウザとの互換性があまりありません。 1.transform:rotate(45度) ...
ユーザーエクスペリエンスと使いやすさを向上させるために、入力ボックスなど、Web ページでユーザーが...
問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...
目次方法1: 水平スクロールバーを設定する最も簡単な方法方法2(新規):ドラッグバーを追加して外側の...
ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...
セマンティクスについて意味論は、記号やシンボルとそれらが表す意味との関係を研究する学問です。言語学で...