我希望JavaScript编码[sic]一大块HTML,以便我可以在各个地方使用它作为模板。这样的事情是理想的:
var template = {% jsencode %}
<input type="text" value="{{ value }}"/>
{% endjsencode %};
我期望的输出是:
var template = "\n <input type=\"text\" value=\"xxx\"/>\n ";
是否有插件可以执行此操作?
答案 0 :(得分:1)
我没有意识到有一个{% filter %}
tag。这很容易:
var x = {% filter json_encode|raw -%}
<input type="text" value="{{ 5*3 }}"/>
{%- endfilter %};
输出:
var x = "<input type=\"text\" value=\"15\"\/>";
或者,您可以在其中填充整个文件:
var template = {% filter json_encode(constant('JSON_UNESCAPED_SLASHES'))|raw %}{% include 'bookings/address.twig' %}{% endfilter %};