[解決済み] Vue.jsのデータバインドスタイルのbackgroundImageが機能しない。
2022-08-21 02:09:19
質問
要素に画像のsrcをバインドしようとしているのですが、うまくいきません。私は、"Invalid expressionを取得しています。生成された関数 body: { backgroundImage:{ url(image) }"と表示されます。
は ドキュメント には 'Kebab-case' か 'camel-case' のどちらかを使うように書かれています。
<div class="circular" v-bind:style="{ backgroundImage: { url(image) }"></div>
ヴァイオリンの演奏です。 https://jsfiddle.net/0dw9923f/2/
どのように解決するのですか?
この問題は
backgroundImage
にはこのような文字列が必要であることです。
<div class="circular" v-bind:style="{ backgroundImage: 'url(' + image + ')' }"></div>
以下は、動作している簡略化されたフィドルです。 https://jsfiddle.net/89af0se9/1/
Re: kebab-caseについての下のコメント、これはその方法です。
<div class="circular" v-bind:style="{ 'background-image': 'url(' + image + ')' }"></div>
つまり
v-bind:style
の値は単なるJavascriptオブジェクトであり、同じルールに従います。
UPDATE: なぜこれがうまくいかないかについてのもう一つのメモです。
あなたは
image
の値が引用され、結果の文字列の最後がそうなるようにします。
url('some/url/path/to/image.jpeg')
その他、画像URLに特殊文字(空白や括弧など)が含まれている場合、ブラウザが正しく適用しないことがあります。Javascriptでは、このような割り当てになります。
this.image = "'some/url/path/to/image.jpeg'"
または
this.image = "'" + myUrl + "'"
技術的には、これはテンプレートで行うこともできますが、有効なHTMLを維持するために必要なエスケープ処理はその価値がありません。
より詳しい情報はこちら。 url()の値を引用することは本当に必要なのでしょうか?
関連
-
[解決済み] Vue.js - ネストされたデータを適切に監視する方法
-
[解決済み] CSS text-overflow: ellipsis; が効かない?
-
[解決済み】このCSSのmargin-topスタイルが機能しないのはなぜですか?
-
[解決済み] Vue.jsのダイナミックイメージが動作しない
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] TypeScriptのdeclare classとinterfaceの違いとは?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】url()の値の引用は本当に必要なのでしょうか?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?