同じ関数や 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のバックアップデータのスケジュールクリアの特定の操作
序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...
目次1. 概要2. 応用例2.1、Docker コンテナ分離名前空間2.2. Docker のフリー...
図に示すように: しかし、IE6で表示すると、right:1px:になります。 IE6 には、幅と高...
目次基本タイプあらゆるタイプ配列タプルインタフェース関数自己推論を入力する結合タイプ(1つ以上選択)...
ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...
リーダーの指示のもと、Java プロジェクトを引き継ぎ、リファクタリングを行う必要がありました。同時...
1. コンセプトこれらはすべて Element の属性であり、要素の幅を示します。 Element....
1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...
目次0x01. パゴダパネルをインストールする0x02. サーバーポートを開く0x03. ブラウザを...
前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...
目次1. カレーとは何か2. カレーの用途3. カリー化ユーティリティ関数をカプセル化する方法 1....
MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...
MySQL を長い間使用してきた多くの人は、これら 2 つのフィールド属性の概念をまだよく理解して...
1. HTMLタグは常に閉じる前のページのソース コードでは、次のような記述がよく見られます。 &l...
最初にsudo suコマンドを使用して root アカウントに切り替えることをお勧めします。そうしな...