Twig:Javascript编码一大块HTML

时间:2014-03-23 03:53:56

标签: twig

我希望JavaScript编码[sic]一大块HTML,以便我可以在各个地方使用它作为模板。这样的事情是理想的:

var template = {% jsencode %}
<input type="text" value="{{ value }}"/>
{% endjsencode %};

我期望的输出是:

var template = "\n    <input type=\"text\" value=\"xxx\"/>\n   ";

是否有插件可以执行此操作?

1 个答案:

答案 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 %};