我想知道怎么可能在twig中插入来自 Backbone.js /下划线函数的代码?我的问题是:
{{path('getArticle', {"id": <%= id %>})}}
我需要更改此变量:<%= id %>这不起作用,因为Twig解析之前的 Backbone.js 代码。所以我不知道如何给予这种类型的变量?先谢谢你了
<%= id %>
watbbzwu1#
我假设您在服务器端使用Symfony沿着TWIG,在这种情况下,您只需要将$id变量发送到TWIG模板
public function callMyTwigAction($deskId) { $id=whatIwant(); return array('id' => $id); }
然后调用TWIG文件:
{{path('getArticle', {"id": id})}}
客户端模板和服务器模板不匹配。像Underscore Template(或者使用Mustache)这样的客户端模板正在将原始Web服务数据(JSON或XML)转换为HTML,并且(可能)是用Javascript编写的。服务器端模板通常将业务对象(Java/PHP类)转换为HTML,并使用TWIG或Velocity等引擎。
yqyhoc1h2#
对于更复杂的体系结构,我建议做三件事:
你在服务器端使用TWIG吗?你使用什么技术栈?
vsikbqxv3#
使用FOSJSRoutingBundle。它会生成一个包含所有公开的TWIG路由的Map,然后您可以在Javascript中使用它。将Routing组件设置为全局组件,或者将其注入到下划线模板中,然后像在TWIG中那样简单地调用它,但使用JS表示法:
<a href="<%= Routing.generate('getArticle', {'id': id}) %>">Get Article <%= id %></a>
3条答案
按热度按时间watbbzwu1#
我假设您在服务器端使用Symfony沿着TWIG,在这种情况下,您只需要将$id变量发送到TWIG模板
然后调用TWIG文件:
客户端模板和服务器模板不匹配。像Underscore Template(或者使用Mustache)这样的客户端模板正在将原始Web服务数据(JSON或XML)转换为HTML,并且(可能)是用Javascript编写的。
服务器端模板通常将业务对象(Java/PHP类)转换为HTML,并使用TWIG或Velocity等引擎。
yqyhoc1h2#
对于更复杂的体系结构,我建议做三件事:
你在服务器端使用TWIG吗?你使用什么技术栈?
vsikbqxv3#
使用FOSJSRoutingBundle。它会生成一个包含所有公开的TWIG路由的Map,然后您可以在Javascript中使用它。
将Routing组件设置为全局组件,或者将其注入到下划线模板中,然后像在TWIG中那样简单地调用它,但使用JS表示法: