同じ関数や 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のバックアップデータのスケジュールクリアの特定の操作
目次1. 監視プロパティを監視する1. ショッピングカート2. すべて選択し、すべて選択解除する2....
許可が拒否されました:その理由は、ファイルの読み取り、書き込み、作成、削除などの権限がないためです。...
目次1. サーバーの状態を確認します。 2. ルートパスワードを変更します。 3. mysqlser...
折りたたまれたヘッダーは、特別オファーや重要なお知らせなど、ユーザーにとって重要な情報を表示するのに...
目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...
問題の説明ご存知のとおり、MySQL でフィールドを昇順に並べ替える SQL は次のとおりです (i...
目次序文やることリストやるだけ地図を準備するインスタンスをバックアップ用に保存するタイマーカルーセル...
コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...
1. 前提条件インポートには require.context メソッドを使用します。vite で作成...
tomcat 設定ファイルから、tomcat の起動時にデフォルトで 8080 (8443)、800...
背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...
1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...
この記事では、例を使用して、MySQL スケジュール タスクの実装と使用方法を説明します。ご参考まで...
スワップ スペースは、オペレーティング システムに関係なく、今日のコンピューティングの一般的な側面で...
導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...