Неполный массив данных от Twig до Js - PullRequest
0 голосов
/ 01 марта 2019

Я хочу получить доступ к массиву данных из моей ветки в моем javascript, но он никогда не получит полный массив.

У меня есть контроллер, который возвращает массив объектов, которые я использую в своей ветке, вот пример сохраненных объектов:
enter image description here

Теперь я хочу получить к нему доступ в своем javascript, я много чего пробовал, но в итоге использовал данные в своем div: (после этого https://symfony.com/doc/current/frontend/encore/server-data.html?fbclid=IwAR2BHWMl-OJSytkfbNgaNUFRefC85bTPw63ymvuC9Q4zPlKxZZoKZ7dvH9E)

<div class="table_congesService" data-conges-service="{{congesService|json_encode|e('html_attr') }}">

И

<script>
  document.addEventListener('DOMContentLoaded', function() {
    var tableCongesService = document.querySelector('.table_congesService');
    var listCongesService = tableCongesService.dataset.congesService;
    console.log(listCongesService);
  });
</script>

Однако вместо полной структуры у меня есть идентификатор только при отображении результата с console.log: enter image description here Что мне не хватает? Я новичок вв Интернете и не могу найти, что не так. Имеет ли это что-то со структурой моих данных до кодирования? Или вариант, который я должен использовать?

1 Ответ

0 голосов
/ 01 марта 2019

Похоже, что свойства объектов являются частными, кроме id_conge.Вот почему json_encode кодирует только публичное свойство id_conge.

Вы можете сериализовать объект с частными свойствами, реализовав \JsonSerializable, как описано здесь , или экспортировать объект как массив со всеми необходимыми вам свойствами в JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...