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

时间:2012-03-15 11:08:58

标签: symfony assets

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

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

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

3 个答案:

答案 0 :(得分:13)

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

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

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

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

答案 1 :(得分:8)

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

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

之后在jQuery中你可以像这样使用它

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

答案 2 :(得分:6)

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

所以应该这样写:

 var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 

如果您希望window.menuDownUrl能够正常工作而不输出 "undefined"