gpt4 book ai didi

javascript - 单击时包含具有不同变量值的模板文件 - Symfony2/Twig

转载 作者:行者123 更新时间:2023-11-30 17:55:06 24 4
gpt4 key购买 nike

当涉及到 js 文件、 Controller 、模板之间的通信时,以及涉及到 js 和 ajax 时,我完全是菜鸟。

我有这样的不同链接:

<a class="details" data-index ={{i}}> Link 1 </a>

但是点击它们不会加载另一个页面,而是打开一个迷你页面,每个链接应该有不同的变量。

我想做这样的事情:

$('.details').on('click', function(){
var index = $(this).data('index');
{% include 'MyBundle::information.html.twig' with {'var':index} %}
});

但是通过这种方式,.js 不会将索引变量提供给 twig 并且我得到错误,即未定义索引 :(

如何解决这个问题?这不需要通过 Controller 。更改“var”值即可。

最佳答案

最好的方法是使用 FOSJsRoutingBundle ,如果出于某种原因您不想使用该 bundle ,您可以这样做:

$('#details').on('click', function(){
var index = $(this).data('index');

var $whereToLoadContent = $("#divid") ; //where you want to load data
//__index__ is just a placeholder
var routeWithPlaceHolder= "{{ path('route_name',{'var':'_index_'}) }}" ;
var routeToLoad = routeWithPlaceHolder.replace("_index_",index) ;


$whereToLoadContent.load(routeToLoad) ;


});

不确定语法是否正确,但希望您明白了。如果您经常这样做,我再次建议您使用 FOSJsRoutingBundle。

关于javascript - 单击时包含具有不同变量值的模板文件 - Symfony2/Twig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com