2012-03-15 84 views
4

我一直在搜索这个很长一段时间!我需要在某些菜单悬停和鼠标悬停上显示图像。代码被写入一个js文件。但是需要生成图像路径。有没有办法使用这样Symfony 2:如何在JavaScript文件中生成图像路径?

{{资产(“束/ mybundle /图片/ menu_down.png”)}}

东西能FOSJsRoutingBundle用于生成js文件图像路径生成图像路径?

回答

6

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

所以应该这样写:

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

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

+0

我想到了。不管怎么说,还是要谢谢你! – VishwaKumar 2012-04-04 11:03:58

13

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

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

然后你的JavaScript文件中设置为来电全局变量:window.menuDownUrl

然后你的JavaScript文件中创建一个依赖关系,但允许您动态设置该图像。

+0

我觉得树枝功能在JavaScript文件的认可。我得到这个错误:未捕获的SyntaxError:意外的令牌{ – VishwaKumar 2012-03-16 07:03:34

+0

嘿,它实际上工作。我必须将代码放入我的小脚本模板中。谢谢!! – VishwaKumar 2012-03-16 07:14:56

8

你可以把隐藏的输入,并设置图片的路径。

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

后,在jQuery的你可以用它像这样

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