vue でサードパーティのコンポーネントをエレガントにカプセル化するにはどうすればよいですか?次の記事では、例を使用して、Vue でサードパーティ コンポーネントをよりエレガントにカプセル化する方法を検討します。
実際の開発においては、やり直しを減らし、作業効率を向上させ、開発時間とコストを節約するために、 Web フロントエンドで非常に人気のある element-ui などの UI コンポーネント ライブラリを使用することは避けられません。 ただし、画像コンポーネントなど、元のコンポーネントに基づいていくつかの変更を加える必要がある場合があります。 画像の読み込みに失敗したときに表示される特定の画像を統一し、コンポーネントを使用するたびに追加する必要があります。 面倒で時間がかかる、要はメンテナンスコストが高い、間違って読み込まれたイメージを更新する必要がある場合、 このコンポーネントが再度使用される場所を見つけて変更する必要があります。 (学習ビデオ共有: vuejs チュートリアル)
別の例は、これも非常に一般的なカスタム ページング コンポーネントで、コンポーネントのスタイルとページごとのページ数がデフォルトでサポートされています。 カプセル化と再利用は、保守性と開発効率の点で有益です。
ただし、ページング コンポーネントを最初から作成する必要はなく、元のベースでカプセル化するだけです。 では、サードパーティのコンポーネント ライブラリのコンポーネントを迅速かつエレガントにカプセル化するにはどうすればよいでしょうか? v-bind="
2. 主要な技術ポイントの紹介
1.v-bind="$attrs"
v -bind="$attrs" の素晴らしい使い方は、上位レベルのコンポーネントを作成することです。サード・パーティのコンポーネントをカプセル化するとき、vue 公式 Web サイトからの抜粋の紹介
親スコープの props として認識 (および取得) されない属性が含まれていますバインディング (クラスとスタイル)を除外する)。コンポーネントが prop を宣言していない場合、これにはすべての親スコープ バインディング (クラスとスタイルを除く) が含まれ、v-bind="$attrs" インポート内部を介して渡すことができます。コンポーネント - 高レベルのコンポーネントを作成する場合に便利です。
たとえば、カプセル化されたカスタムイメージ コンポーネントに v-bind="$attrs" を使用した後、 また、el-image のほぼすべてのプロパティが Custom-Image コンポーネントにあります。 また、その効果と使い方は el-image を使用する場合と同じです。 つまり、el-imageの記事を見ればcustom-Imageが使えるということになります。2.v-on="$listeners"
v-on="e s" コンポーネント、および グループ
カスタムイメージ コンポーネントの使用例
<custom-Image fit="fill" class="icon-img" :src="picPreview(expert)"></custom-Image>
el-image をカスタム画像コンポーネントにカプセル化する例
<template> <div id="CustomImage"> <el-image v-bind="$attrs" v-on="$listeners"> <div slot="error"> <img :src="require('image-f/icon-empty-img.png')" alt="图片加载失败.png"/> </div> <div slot="placeholder">加载中...</div> </el-image> </div> </template> <script> export default { name: 'CustomImage' } </script> <style scoped> #CustomImage { .image-slot { text-align: center; } .placeholder-slot { text-align: center; } } </style>
(学習ビデオ共有: Web フロントエンド開発、プログラミング入門)
以上がVue でサードパーティのコンポーネントをエレガントにカプセル化するにはどうすればよいですか?梱包方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。