私は今朝、愚かな質問で目を覚ましました。あなたはJavaScript変数内刃を入れることができます:JavaScript変数内でブレードを使用
var NoImg = '{{ asset('img/ni-img.png') }}';
文字列として出力するであろうが、私が必要とするすべては、それが出力する画像
私は今朝、愚かな質問で目を覚ましました。あなたはJavaScript変数内刃を入れることができます:JavaScript変数内でブレードを使用
var NoImg = '{{ asset('img/ni-img.png') }}';
文字列として出力するであろうが、私が必要とするすべては、それが出力する画像
うんである - 直接あなたのJSにあなたのイメージへのパスを注入します文字列の一重引用符。
あなたがイメージとしてその文字列を使用するために必要な場合は、
document.getElementByID('myImage').src = '{{ asset('img/ni-img.png') }}'
はいのように、パスにimg
.src
を設定する必要があると思います。ブレードはサーバー側のテンプレートエンジンです。ブレードビューファイルをお持ちの場合、彼女はJavaScriptの前に実行されます。あなたのケースでは、NoImgは、htmlがサーバから返されたときにhelper asset()によって返された展開された値を持ちます。はい
<?php
// variable from your controller...
$image = 'https://images.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';
?>
// your js inside of a blade file...
var image = new Image(272, 92);
image.src = '{{ $image }}'; // or asset("path/to/your/image.png")
document.body.appendChild(image);
が、それは結果の出力ではJavaScriptフレンドリーれていることを確認するためにjson_encode
を使用するのが最善です:
これは細かい作業になります
var NoImg = {!! json_encode(asset('img/ni-img.png')) !!};
PHPは、(引用符を追加します任意のエスケープ文字(たとえば、ファイル名に'
がある場合)、配列/オブジェクトなどのより複雑なデータ構造も処理します。
チップのためにありがとう私の男 – Yosef
はい。ブレードはサーバー側のテンプレートエンジンです。ブレードビューファイルをお持ちの場合、彼女はJavaScriptの前に実行されます。あなたのケースでは、NoImgは、htmlがサーバから返されたときにhelper asset()によって返された展開された値を持ちます。 –
あなたはまったくできます - 実際に私はLaravelで認めることを気にする以上にこの回数を使いました。 – Tor
@トルと同じようにしましたか? – Yosef