16

Twigテンプレート内のJavascript内にルートを作成しようとしていますが、ルートパラメーターの値としてJS変数を使用する必要があります。

例:

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

Silexフレームワークを使用していますが、FOSJSが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 に答える