序文プロジェクト開発では、アイコンを使用する方法はたくさんあります。iconfont で適切なアイコンを見つけて、http 経由で使用したり、直接ダウンロードしたりできます。ここでは、カスタム コンポーネントを実装してアイコンを導入する方法を紹介します。 環境を構築するここでは、@vue/cli 4.5.13 を使用して新しいプロジェクトを作成し、便宜上、対応する svg アイコンを処理するために依存関係 svg-sprite-loader をインストールする必要があります。 インストール: vue.config.js を構成するsvg-sprite-loader をインストールした後、依存関係を設定するために新しい vue.config.js を作成します。 // vue.config.js const { 解決 } = require('path') モジュール.エクスポート = { チェーンWebpack(config) { 設定 .モジュール .rule('svg') .除外 .add('src/icons') を解決します。 。終わり() 設定 .モジュール .rule('アイコン') .test(/\.svg$/) 。含む .add('src/icons') を解決します。 。終わり() .use('svg-sprite-loader') .loader('svg-sprite-loader') .オプション({ シンボルID: 'icon-[名前]' }) } } 以下は、chainWebpack を通じて行われた 2 つの構成です。
新しいアイコンコンポーネントを作成するコンポーネント ディレクトリに新しい SvgIcon.vue ファイルを作成します。 <テンプレート> <i class="icon"> <!-- aria-hidden、障害のある人の読み取りを支援するため(デバイスは混乱を避けるためにコンテンツを読み取るときにこのタグをスキップします) --> <svg aria-hidden="true" :width="サイズ" :height="サイズ" :fill="塗りつぶし色"> <use :xlink:href="iconName" rel="external nofollow" ></use> </svg> </i> </テンプレート> <script lang="ts"> 'vue' から { PropType, toRefs } をインポートします。 エクスポートデフォルト{ 小道具: { サイズ: { タイプ: Number as PropType<number>、 デフォルト: 14 }, 塗りつぶし色: { タイプ: String as PropType<string>、 デフォルト: '#000' }, アイコン名: タイプ: String as PropType<string>、 必須: true } }, セットアップ(props: 任意) { const { サイズ、塗りつぶし色、アイコン名: _iconName } = toRefs(props) const iconName = `#${_iconName.value}` 戻る { サイズ、 塗りつぶし色、 アイコン名 } } } </スクリプト> 次に、コンポーネントにハングアップする新しいアイコン ディレクトリと新しいインデックス ファイルを作成し、SVG アイコンをインポートします。 // インデックス.ts '@/components/SvgIcon.vue' から SvgIcon をインポートします。 'vue' から { App } をインポートします エクスポートデフォルト (app: App) => { app.component('svg-icon', SvgIcon) } const ctx = require.context('./svg', false, /\.svg$/) const requestAll = (ctx: __WebpackModuleApi.RequireContext) => ctx.keys().forEach(ctx) リクエストすべて(ctx) //メイン.ts 'vue' から {createApp} をインポートします。 './App.vue' からアプリをインポートします。 '@/icons/index' から installSvgIcon をインポートします const app = createApp(App) installSvgIcon(アプリ) app.mount('#app') このファイルは次の 2 つのことを行います。
コンポーネントの使用まず、SVG アイコン ファイルを icons/svg ディレクトリに保存する必要があります (iconfont で必要なものを見つけます)。 その後、他の場所でも使用できます。 <テンプレート> <img alt="Vue ロゴ" src="./assets/logo.png"> <svg-icon icon-name="アイコンダッシュボード"></svg-icon> <HelloWorld msg="Vue.js + TypeScript アプリへようこそ"/> </テンプレート> コンポーネント svg-icon を通じて直接導入し、icon-name を渡します。icon-name の値は、icon と svg ファイル名を連結したもので構成されます。 要約するSVG アイコンを導入するこのカスタム方法は非常に便利です。アイコンを追加したい場合は、次の数ステップで実行できます。
ただし、CSS を通じてスタイルを変更するのはあまり便利ではありません。 以上で、Vue のカスタムコンポーネントをベースにしたアイコンの導入方法についての記事は終了です。Vue のカスタムアイコンコンポーネントの詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: CentOS システムのディスク パーティションを拡張する方法
この記事では、主にnginxのフロントエンドとバックエンドに同じドメイン名を設定する方法を紹介し、皆...
目次JSIとはJSIの違いiOS で JSI を使用するiOS 設定RN側の構成jsはパラメータ付き...
目次スプレッド演算子とレスト演算子とは何ですか?配列スプレッド演算子残り演算子(コレクション関数)ス...
1. はじめにバージョン 5.0 以降でサポートされています。特定の機能を実行するための SQL ス...
輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...
最新のパーフェクト アロエ ベラ ジェルのパッケージ ボックスには、赤いフォントで完璧な英語の文字が...
ブロック要素HTMLタグ分類の詳細* 住所 - 住所* blockquote - ブロック引用* c...
目次1. 冷蔵庫に入りきらない象2. シャドウクローン文字列3. 実際に見た「奇妙なボール」 4. ...
背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...
DOSBox を使用すると、Windows で DOS をシミュレートし、楽しい作業を行うことができ...
純粋なCSS3で蝶が羽ばたく様子を再現。まずはその効果をご覧ください どうですか?効果はかなりいいで...
目次これ方法オブジェクト内これを隠した厳密モードこれを変更してこれいつものように、まずはコードを見て...
翻訳プログラムを例に挙げてみます。前回はWindowsでのアプリケーションのパッケージ化についてお話...
mysql 5.7.21 winx64 のインストールと設定方法: MySQLのコミュニティバージョ...