Vue でミックスインを使用してリスト、テーブル、フォームなどのコンポーネントを再利用するためのヒント。
Vue は、最新の効率的な Web アプリケーションを構築するための強力な機能とツールを多数備えた人気の JavaScript フレームワークです。その 1 つがミックスインです。 Mixin は Vue の高度なメカニズムです。これにより、コンポーネントから再利用可能な機能部分を抽出して、これらの機能を効果的に再利用できるようになります。これは、リスト、テーブル、フォームなどの共通コンポーネントを開発するときに非常に役立ちます。
Mxin の仕組み
Mixin はオブジェクトのコピーとして理解でき、mixin オブジェクトを別のオブジェクトにコピーすることで、2 つのオブジェクトを新しいオブジェクトにマージできます。 mixin オブジェクトを Vue コンポーネントに追加すると、mixin オブジェクト内のすべてのプロパティとメソッドがコンポーネントにコピーされます。さらに、ミックスイン オブジェクトとコンポーネントが同じプロパティまたはメソッドを持つ場合、コンポーネントのプロパティまたはメソッドは、ミックスイン オブジェクト内の同じプロパティまたはメソッドをオーバーライドします。
次のコードを通じてミックスインを作成できます:
const myMixin = { data() { return { message: 'Hello, mixin!' } }, methods: { foo() { console.log('foo'); } } };
ミックスインは通常、コンポーネントに混合されます。次のコードを通じてミックスインをコンポーネントに追加できます:
const Component = Vue.extend({ mixins: [myMixin], data() { return { anotherMessage: 'Hello, component!' } }, methods: { bar() { console.log('bar'); } } });
Inこの例では、Vue コンポーネントを作成し、mixins
属性を使用して myMixin
をコンポーネントにミックスします。これにより、コンポーネントには myMixin
宣言された data## が含まれます。 # 属性と
methods 属性。
listDataMixin:
export default { data: function() { return { list: [], currentPage: 1, pageSize: 10, total: 0 }; }, computed: { totalPage() { return Math.ceil(this.total / this.pageSize); } }, methods: { getItems() {}, changePage() {}, refreshList() {} }, mounted() { this.refreshList(); } };
は、データ、計算されたプロパティおよびメソッドを含むオブジェクトを定義します。
- data
部分は、共通のリスト関連の基本データを定義します。
list- : 現在のページのリストデータ;
currentPage
: 現在のページ番号; total
: 合計で存在するレコードの数;
totalPage - 。この属性は、
Math.ceil
;メソッドを通じて計算された合計ページ数を取得します。
セクションでは一般的な操作メソッドを定義します:
: 現在のページ データを取得します;getItems()
changePage(pageNumber)
: ページを切り替え、ページ番号パラメータを渡します;refreshList()
: リスト データを更新します;
refreshList()- メソッドを実行して、リクエスト データを自動的に取得し、ページをレンダリングする前にリストを更新します。
上記は一般的なリストデータの Mixin ですが、この Mixin のプロパティとメソッドは再利用できます。次のコードを使用して、この Mixin をリスト コンポーネントに追加できます:
コンポーネントに listDataMixin<template> <div> <table> <thead> <tr> <th>表头</th> </tr> </thead> <tbody> <tr v-for="(item, index) in list" :key="index"> <td>{{ item }}</td> </tr> </tbody> </table> <div class="pagination"> <a v-if="currentPage > 1" @click="changePage(currentPage - 1)">上一页</a> <a v-for="pageNumber in totalPage" :key="pageNumber" :class="{ active: pageNumber === parseInt(currentPage) }" @click="changePage(pageNumber)">{{ pageNumber }}</a> <a v-if="currentPage < totalPage" @click="changePage(currentPage + 1)">下一页</a> </div> </div> </template> <script> import listDataMixin from '../mixin/listDataMixin'; export default { mixins: [listDataMixin], methods: { getItems() {}, changePage() {}, refreshList() {} } }; </script>
ログイン後にコピーMixin を追加しました。フィールドとメソッドはこの Mixin で定義されています。公開データとメソッドを提供します。コンポーネントのパブリック サービスにより、コンポーネントの再利用が実現します。
同じ Mixin を他のコンポーネントに再度追加して、パブリック フィールドとメソッドを維持しながら、他のシナリオに適した特定の機能を取得できます。これにより、コードの再利用率が大幅に向上します。
概要
この記事では、ミックスインを使用して Vue.js の共通の機能部分を再利用する方法と、これらの機能をリスト コンポーネントに適用する方法を紹介しました。ミックスインを使用すると、コンポーネント ロジックを共有し、再利用可能なコード ベースを構築できるため、スケーラビリティ、保守性、およびコードの重複が向上します。より強力な Web アプリケーションの構築を開始できるように、ミックスインの使用方法についていくつかのアイデアを提供できれば幸いです。
以上がVue でミックスインを使用してリスト、テーブル、フォームなどのコンポーネントを再利用するためのヒント。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Vue で ECharts を使用すると、アプリケーションにデータ視覚化機能を簡単に追加できます。具体的な手順には、ECharts および Vue ECharts パッケージのインストール、ECharts の導入、チャート コンポーネントの作成、オプションの構成、チャート コンポーネントの使用、Vue データに対応したチャートの作成、対話型機能の追加、および高度な使用法の使用が含まれます。

質問: Vue におけるエクスポートのデフォルトの役割は何ですか?詳細説明: エクスポートデフォルトは、コンポーネントのデフォルトのエクスポートを定義します。インポートすると、コンポーネントが自動的にインポートされます。インポートプロセスを簡素化し、明確さを改善し、競合を防ぎます。一般に、名前付きエクスポートとデフォルト エクスポートの両方を使用して、個々のコンポーネントをエクスポートし、グローバル コンポーネントを登録するために使用されます。

Vue.js マップ関数は、各要素が元の配列の各要素の変換結果である新しい配列を作成する組み込みの高階関数です。構文は、map(callbackFn) です。callbackFn は、配列内の各要素を最初の引数として受け取り、オプションでインデックスを 2 番目の引数として受け取り、値を返します。 map 関数は元の配列を変更しません。

Vue.js では、event はブラウザによってトリガーされるネイティブ JavaScript イベントですが、$event は Vue コンポーネントで使用される Vue 固有の抽象イベント オブジェクトです。 $event はデータ バインディングをサポートするようにフォーマットおよび拡張されているため、一般に $event を使用する方が便利です。ネイティブ イベント オブジェクトの特定の機能にアクセスする必要がある場合は、event を使用します。

Vue.js でモジュールをエクスポートするには、エクスポートとデフォルトのエクスポートの 2 つの方法があります。 export は名前付きエンティティのエクスポートに使用され、中括弧の使用が必要です。export default はデフォルト エンティティのエクスポートに使用され、中括弧は必要ありません。インポートする場合、エクスポートによってエクスポートされたエンティティはその名前を使用する必要がありますが、エクスポートのデフォルトによってエクスポートされたエンティティは暗黙的に使用できます。複数回インポートする必要があるモジュールにはデフォルトのエクスポートを使用し、一度だけエクスポートするモジュールにはエクスポートを使用することをお勧めします。

onMounted は、Vue のコンポーネント マウント ライフ サイクル フックです。その機能は、コンポーネントが DOM にマウントされた後に、DOM 要素への参照の取得、データの設定、HTTP リクエストの送信、イベント リスナーの登録などの初期化操作を実行することです。コンポーネントが更新された後、またはコンポーネントが破棄される前に操作を実行する必要がある場合は、他のライフサイクル フックを使用できます。

Vue フックは、特定のイベントまたはライフサイクル ステージでアクションを実行するコールバック関数です。これらには、ライフサイクル フック (beforeCreate、mounted、beforeDestroy など)、イベント処理フック (クリック、入力、キーダウンなど)、およびカスタム フックが含まれます。フックはコンポーネントの制御を強化し、コンポーネントのライフサイクルに対応し、ユーザーの操作を処理し、コンポーネントの再利用性を向上させます。フックを使用するには、フック関数を定義し、ロジックを実行してオプションの値を返すだけです。

Vue.js イベント修飾子は、次のような特定の動作を追加するために使用されます。 デフォルト動作の防止 (.prevent) イベント バブリングの停止 (.stop) ワンタイム イベント (.once) イベントのキャプチャ (.capture) パッシブ イベント リスニング (.passive) アダプティブ修飾子 (.self)キー修飾子 (.key)
