![](/img/trans.png)
[英]How to include JavaScript files into twig template using Symfony2
[英]Include template file with different variable value on click - Symfony2/Twig
當涉及到js文件,控制器,模板之間的通信時,以及涉及到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,並且我得到未定義索引的錯誤:(
如何解決這個問題? 這不需要通過控制器。 改變'var'值就可以了。
最好的方法是使用FOSJsRoutingBundle ,如果由於某種原因您不想使用該捆綁包,則可以執行以下操作:
$('#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,如果您會經常這樣做的話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.