16

我正在尝试在 Twig 模板内的一些 Javascript 中创建路由,并且需要使用 JS 变量作为路由参数的值。

例子:

window.location.href = {{ path('post_display', { 'id': this_is_where_i_need_to_use_the_js_var }) }};

我正在使用 Silex 框架,但不确定 FOS JS 是否适用于 Silex。不过,我认为不会。

4

1 回答 1

41

Twig,因为它是用 编写的PHP,所以在服务器上运行,与 javascript 代码完全分开,所以你想要的需要一个解决方法。

首先,生成路线,但使用占位符,然后在必要时将其替换为变量的值:

var route = "{{ path('post_display', { 'id': "PLACEHOLDER" }) }}";
window.location = route.replace("PLACEHOLDER", js_variable);

像这样的东西应该适合你。

于 2012-08-17T17:48:18.820 回答