簡體   English   中英

在JavaScript變量中使用刀片

[英]Use blade inside a JavaScript variable

今天早上,我醒了一個愚蠢的問題。 您能否將Blade放在JavaScript變量中:

 var NoImg = '{{ asset('img/ni-img.png') }}';

將輸出為字符串,我只需要輸出圖像即可

是的,但是最好使用json_encode來確保結果輸出對JavaScript友好:

var NoImg = {!! json_encode(asset('img/ni-img.png')) !!};

PHP將添加引號(用於字符串),任何必需的轉義字符(例如,如果文件名中包含' ),並且還將處理更復雜的數據結構,例如數組/對象。

是的-這會將圖片的路徑直接插入JS字符串的單引號中。

如果隨后需要將該字符串用作圖像,則需要將img .src設置為路徑,例如

document.getElementByID('myImage').src = '{{ asset('img/ni-img.png') }}'

是。 Blade是服務器端模板引擎。 如果您有刀片視圖文件,則將在javascript之前執行她的文件。 在您的情況下,從服務器返回html時,NoImg將具有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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM