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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
まず、Webフロントエンドエンジニアの価値についてお話ししましょう。現在、Web製品のインタラクショ...
目次1. インストール要件2. OSイメージのダウンロード3. VMware Workstation...
最近、ネイティブ JS を使用して、さらにいくつかの小さな機能を実装したいと思っています。現在、ブロ...
私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...
通常は <ul><li> タグを使用しますが、dd タグと dt タグも便利...
MYSQL5.7.17 が MAC で接続できない問題。SQLBench_community 6.3...
GROUP BY 構文を使用すると、指定されたデータ列の各メンバーに従ってクエリ結果をグループ化して...
ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...
水平方向では、セルの配置を左、中央、右に設定できます。基本的な構文<TD ALIGN=&quo...
MySQL CURDATE関数の紹介文字列コンテキストまたは数値コンテキストの YYYMMDD 形式...
ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...
1. ウィンドウ -> 設定を選択してEclipseの設定パネルを開きます。 2. 「設定」ウ...
MySQLダウンロードアドレス: https://obs.cn-north-4.myhuaweicl...
この記事の例では、Appleの電卓を実装するためのJSの具体的なコードを参考までに共有しています。具...
Web ページを設計する過程で、デザイナーが間違いを犯すのは必然です。特に新人は、新しいアイデアを実...