1. Vue プロジェクトを作成します (CLI を使用してスキャフォールディングを構築します。このテスト プロジェクトは Vue CLI4 で構成されています) 2. カスタムコンポーネントを作成する 具体的なコードは次のとおりです。 <テンプレート> <svg :class="svgClass" aria-hidden="true" v-on="$listeners"> <use :xlink:href="iconName" rel="external nofollow" /> </svg> </テンプレート> <スクリプト> エクスポートデフォルト{ 名前: "SvgIcon", 小道具: { アイコンクラス: { タイプ: 文字列、 必須: true、 }, クラス名: { タイプ: 文字列、 デフォルト: ""、 }, }, 計算: { アイコン名() { `#icon-${this.iconClass}` を返します。 }, svgクラス() { if (this.className) { "svg-icon " + this.className を返します。 } それ以外 { "svg-icon" を返します。 } }, }, }; </スクリプト> <スタイルスコープ> .svgアイコン{ 幅: 1em; 高さ: 1em; 垂直位置合わせ: -0.15em; 塗りつぶし: 現在の色; オーバーフロー: 非表示; } </スタイル> 3. ルートディレクトリにアイコンを作成し、新しい index.js を作成します (これは後でグローバルにインポートされます)。また、svg 画像を保存するための新しい svg ディレクトリを作成します (svg のダウンロード方法については、Alibaba のアイコンフォントからダウンロードできます。Baidu で検索してください)。 index.js の具体的なコードは次のとおりです。 'vue' から Vue をインポートします import SvgIcon from '@/components/svgIcon' // svg コンポーネント // グローバルに登録 Vue.component('svg-icon', SvgIcon) const req = require.context('./svg', false, /\.svg$/) const requireAll = requireContext => requireContext.keys().map(requireContext) すべて必須(必須) 4.導入のためにmain.jsをグローバルにインポートする 5. この時点で、プロジェクトはvue.config.jsも設定する必要があります(そうしないと表示されません) 定数パス = require('path') モジュール.エクスポート = { チェーンWebpack: config => { svgRule は config.module.rule('svg') に定義されます。 svgRule.uses.clear() svgルール .test(/\.svg$/) .include.add(path.resolve(__dirname, './src/icons')).end() .use('svg-sprite-loader') .loader('svg-sprite-loader') .オプション({ シンボルID: 'icon-[名前]' }) 定数 fileRule = config.module.rule('file') fileRule.uses.clear() ファイルルール .test(/\.svg$/) .exclude.add(path.resolve(__dirname, './src/icons')) 。終わり() .use('ファイルローダー') .loader('ファイルローダー') } } それでおしまい; 6. プロジェクトでコンポーネントを使用する ここでは関数コンポーネントを使用して紹介しますが、これは通常のコンポーネントの使用方法でも紹介できます。 <スクリプト> エクスポートデフォルト{ 機能的: 真、 小道具: { レベル: タイプ: 数値、 必須: true、 }, }, レンダリング: 関数 (h, コンテキスト) { console.log(コンテキスト); vnodes = [] とします。 { レベル } = context.props; // vnodes.push(<i class="el-icon-edit" style="width:19px"></i>); vnodes.push(<svg-icon icon-class="date"></svg-icon>); vnodes.push(<span class="span">{レベル}</span>); vnode を返します。 }, }; </スクリプト> <スタイルスコープ> .span { フォントサイズ: 50px; } </スタイル> 注: icon-class の値は、svg のファイル名そのものになります。 これで、Vue プロジェクトで SVG コンポーネントをカプセル化して構成する手順に関するこの記事は終了です。Vue SVG コンポーネントのカプセル化と構成の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する
>>: CSSでフレックス配置を表示する(レイアウトツール)
この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...
この記事では、スクロール可能なポップアップウィンドウ効果を実現するためのVueの具体的なコードを参考...
--データベースに接続するとき、ホストとユーザーのマッチングルール公式ドキュメント: https:/...
このチュートリアルでは、参考までにMySQL 8.0.19のインストールチュートリアルを共有します。...
MySQL エラー:エラー コード: 1293 テーブル定義が正しくありません。CURRENT_T...
<br />これは 123WORDPRESS.COM が提供する一連のチュートリアルです...
序文: Vueプロジェクトで透かし効果を使用するには、コンテナを指定できます効果画像: 1. コンテ...
CentOS 6 以前のバージョンでは、MySQL サーバー/クライアント インストール パッケージ...
1. レスポンシブな Web を開発するには、ページを画面サイズに適応させる必要があります。前の記...
目次環境まとめモジュール機能関連文書ソースコード分析CCGame.js CCInputManager...
React は、開発者が Web およびモバイルベースのアプリケーションを作成するために使用するオ...
前面に書かれた多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインスト...
目次概要Node.js における CPU バウンド アプリケーションの歴史CPUを集中的に使用する操...
目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...
コンテナの場合、最も単純なヘルスチェックはプロセス レベルのヘルスチェックであり、プロセスが稼働して...