Symfony 2:如何在javascript文件中生成图像路径?

Vis*_*mar 4 assets symfony

我一直在谷歌搜索这个很久了!我需要在某些菜单上悬停和mouseout显示图像.代码写在js文件中.但是需要生成图像路径.有没有办法使用这样的东西生成图像路径

{{asset('bundles/mybundle/images/menu_down.png')}}

FOSJsRoutingBundle可以用于在js文件中生成图像路径吗?

Nic*_*ick 13

您可以在实际页面上设置全局JS变量:

<script>
    var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}";
</script>
Run Code Online (Sandbox Code Playgroud)

然后在您的javascript文件中设置以调用全局变量: window.menuDownUrl

然后在javascript文件中创建依赖项,但允许您动态设置该图像.


小智 8

您可以隐藏输入并设置图像的路径.

<input type="hidden" id="img_path" value="{{ asset('images/circle_loading.gif') }}">
Run Code Online (Sandbox Code Playgroud)

在jQuery之后,您可以像这样使用它

var img  = "<img src=\'"+ $("#img_path").val() +"\'>";
$("div").html(img);
Run Code Online (Sandbox Code Playgroud)


ohF*_*FRY 6

同意Nick回答,但他忘记了{{asset(...)}}周围的"引号".

所以它应该写成这样:

 var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 
Run Code Online (Sandbox Code Playgroud)

如果你想window.menuDownUrl工作而不输出你"undefined"