在 Symfony 2 中生成动态 JavaScript 的正确方法

Proper way of generating dynamic javascript in Symfony 2?

本文关键字:JavaScript 方法 动态 Symfony      更新时间:2023-09-26

我需要使用一些twig函数(如assettranslate)生成一个动态JSON对象。我想把它放在一个外部settings.js文件中。我可以使用include 'settings.js.twig'并将相关代码放入其中。

这是在Symfony 2中生成动态javascript的正确方法吗?

这并不能完全回答您的问题,但这是一个类似的主题。当我需要将数据从控制器/视图传递到 javascript 时,我通常会在相关的 HTML 标签上设置数据属性。例如,如果我需要一个 AJAX 请求的路由,我会写

<a href="#updateTarget" class="ajaxTrigger" data-ajax-route="{{ path('my_ajax_route') }}">click here for ajax</a>

然后使用

$('.ajaxTrigger').on('click', function(){
  $.getJSON($(this).data('ajax-route'), function(response) {
    // do something with response
  });
 });

如果你试图在javascript中调用树枝,你可以创建一个控制器来渲染产生json的树枝,并从javascript请求(ajax或类似的东西)调用它。

然后你在javascript中有了你的json,你可以用它做任何你需要的事情。

我认为这并不能完全回答你的问题。我会说你应该尽可能避免用树枝创建js。