是否可以从twig
数组获取对象,知道索引是javascript
变量
myController的
public function showContactModalAction($iduser, $profil) {
$em = $this->getDoctrine()->getEntityManager();
$contacts = $em->getRepository("LeymaxContactBundle:User")->findBy(array('accesslevel' => 'arch'));
return $this->render('LeymaxContactBundle:Default:contactModal.html.twig', array('contacts' => $contacts));
}
MyTwig
$(".fils_zone_livre").on('click', function() {
var index=3;
var contacts = '{{contacts[index]}}';
});
我也试过了:
var contactArray = '{{contacts|json_encode}}';
但我得到了这个回应:
[{},{},{},{},{},{}]
作为空数组
答案 0 :(得分:1)
您可以使用JMSSerializerBundle来序列化您的实体,而不是json_encode。
var contactsArray = JSON.parse("{{ contacts|serialize('json') }}");
var contact = contactsArray[index];
答案 1 :(得分:1)
只需要和你一样。
但不是
var contactArray = '{{contacts|json_encode}}';
你应该使用
var contactArray = '{{contacts|json_encode|raw}}';
希望这有帮助。
亨尼斯
答案 2 :(得分:0)
$(".fils_zone_livre").on('click', function() {
var index=3;
var contactsArray = {{ contacts|e('js') }};
var contacts = contactsArray[index];
});
这应该有效。 Twig在执行javascript之前解析服务器上的模板,因此无法知道js变量。