【发布时间】:2017-02-03 17:21:52
【问题描述】:
我在<script>标签中看到了很多将twig分配给JS变量的例子,所以我决定在click事件中调用twig函数,但不幸的是,无论是否点击,它仍在执行TWIG代码。
$(document).ready(function() {
$('#sign_up_trainee .btn-social').click(function() {
{{ app.session.set('name', 'value1') }}
});
$('#sign_up_company .btn-social, #sign_up_university .btn-social').click(function() {
{{ app.session.set('name', 'value2') }}
});
});
最后,当页面加载时,它正在执行树枝,名称“name”的会话设置为“value2”。 Twig 在 JS 执行之前被渲染。任何想法如何在 JS 中正确执行树枝?
【问题讨论】:
-
您尝试做的事情是不可能的,因为您自己说
twig在JS之前执行,因此您只能将评估函数传递给JS并将它们存储在变量中。如果你想执行一些twig,你需要通过对控制器的ajax调用来做到这一点 -
这似乎是一个解决方案。您能否将其发布为答案,以便我确认其为正确答案?
标签: javascript jquery symfony session twig