Vue プロジェクトを作成するときは、さまざまな画像を使用することになりますが、画像リソースをより有効に活用するにはどうすればよいでしょうか。ここでは私がよく使う方法についてお話します。 エラーのデモンストレーションおそらくあなたはコードにこれをよく書くでしょう <テンプレート> <img :src="src"> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { ソース: require('xxx.jpg') } } } </スクリプト> webpack では、require はリソースを自動的に処理しますが、これは問題ありません。ただし、これを vue のデータに配置すると、vue はデータをトラバースして src に応答性を追加します。ただし、ほとんどの場合、この src は応答性である必要がないため、パフォーマンスの無駄が発生します。 計算により上記のエラーを解決するには、次の解決策があります。 <テンプレート> <img :src="src"> </テンプレート> <スクリプト> const src = require('xxx.jpg') エクスポートデフォルト{ 計算:{ ソース(){ src を返す } } } </スクリプト> コンピューティング自体にキャッシュがあり、パフォーマンスの無駄を減らすことができます。 画像が変わらない場合は直接インポートする<テンプレート> <img :src="src"> </テンプレート> または <テンプレート> <div class="bg"></div> </テンプレート> <スタイル> .bg{ 背景:url("xxx.jpg") } </スタイル> 画像が変更されない場合は、変数を割り当てずに直接インポートできます。 同様に、クラス名を切り替えることで画像を動的に表示することもできます。これも優れています。 <テンプレート> <div :class="flag ? 'bg1':'bg2'"></div> </テンプレート> <スクリプト> エクスポートデフォルト{ データ(){ 戻る { フラグ: true } } } </スクリプト> <スタイル> .bg1{ 背景:url("xxx1.jpg") } .bg2{ 背景:url("xxx2.jpg") } </スタイル> CSS変数による画像の切り替えこれは私が今思いついたアイデアです。理論的には、CSS 変数には何でも保存できるので、画像のアドレスを保存できるのでしょうか? <テンプレート> <div class="bg"></div> </テンプレート> <スクリプト> エクスポートデフォルト{ マウントされた(){ // 最初の方法、画像アドレスまたはbase64 this.$el.style.setProperty('--bg',`url("http://xxx.com/1.jpg")`) // 2 番目のメソッド this.$el.style.setProperty('--bg',`url("${require('../assets/1.png')}")`) } } </スクリプト> <スタイル> .bg{ --bg:url('xxx.jpg'); 背景画像:--bg; } </スタイル> 私の個人的なテストは成功しました。この方法も利用可能で、計算よりも優れています。結局のところ、CSS 変数を操作する方がコストが低くなります。この方法で注意すべき点は、CSS 内の画像は通常 URL で記述されるため、文字列の URL (コンテンツ) を連結する必要があることです。 CSSによる描画これは実は余談です。画像によっては、CSS を使って描画できるものもあります。たとえば、下の画像の三角形です。Baidu で検索すると、さまざまな CSS 三角形ジェネレーターが見つかります。この種のグラフィックは、画像を導入するよりも CSS を使用して描画する方が適しています。 まとめると、vueのデータに画像を導入せず、cssを使用するようにしてください。 要約するVue ページでよりエレガントに画像を導入する方法に関するこの記事はこれで終わりです。Vue でよりエレガントに画像を導入する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次1. プロジェクト開発において、コンポーネント間の最も一般的な関係は次の 2 つのタイプに分けら...
<br />2006年10月12日のNetEaseの新ホームページの公開から、2008年...
この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...
独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...
私は同時通訳音声認識機能を使用して、WeChatアプレットのホームページの音声検索機能を実現しました...
序文実際、Linux では、控えめな「!」が驚くほど多くの用途で使用されています。この記事では、「!...
MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...
目次DockerのインストールNvidia-docker のインストールDockerのインストール1...
ElementUIページングコンポーネントPagination in Vueの使用は参考になります。...
最近、本番環境のデータベースがログデータを狂ったように書き込み、主キー値のオーバーフローを引き起こし...
目次基本的なセレクター:レベルセレクター:属性セレクター:フィルターセレクター:フォーム属性セレクタ...
zhangxinxu より https://www.zhangxinxu.com/wordpress...
この記事を読む前に、ボリューム、バインドマウント、tmpfs マウントの基本を理解しておいてください...
div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...
isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...