Laravel,如何将此刀片{{url('')}}转换为普通的html?

时间:2018-07-17 17:03:25

标签: javascript laravel

我正在尝试通过innerHTML使用显示图像。在刀片中,通常我们会显示这样的图像

<img src="{{ url('uploads/file/'.$fur->picture) }}"

但是在innerHTML中呢?这样简单吗?

pic.innerHTML="<img src="{{ url('blah/blah/' '"+value.id+"') }}"

2 个答案:

答案 0 :(得分:2)

由于JS位于刀片文件中,因此您应该可以执行以下操作:

pic.innerHTML='<img src="{{ url('blah/blah') }}/' + value.id + '">'

这样,URL的基本路径将在服务器上编译,因此当它到达浏览器时,它将类似于:

pic.innerHTML='<img src="www.example.com/blah/blah/' + value.id + '">'

NB

使用url函数会删除所有结尾的/,因此您需要在js中添加它们。

答案 1 :(得分:1)

由于PHP / Laravel是在将数据传递到Javascript之前呈现的,因此您可以使用Blade将变量回显到Javascript中(但不能反过来)。您将无法从PHP访问Javascript变量,因此不能在Blade指令中包含value.id

您还需要转义src周围的引号或使用单引号

pic.innerHTML="<img src=\"{{ url('blah/blah/') }}" + value.id + "\" />"
# or using single quotes:
pic.innerHTML='<img src="{{ url('blah/blah/') }}' + value.id + '" />'