【问题标题】:Twig pass parameters to JS as JSONTwig 将参数作为 JSON 传递给 JS
【发布时间】:2021-03-22 21:38:33
【问题描述】:

我目前正在开发一个迷你网络项目,它是一种逃脱游戏,我正在使用 Symfony 框架,这个框架对我来说是新的,所以基本上我正在通过这个项目学习如何使用我'我被一个小问题阻止了,我不知道如何将数据传递给 JS 外部代码, 我在 Symfony 控制器中使用return $this->render("app/player_interface.html.twig",['player'=>$player]); 将播放器对象发送到树枝,然后在树枝中我插入了这个块

      {% set player_data = {
                pseudo: player.Username,
                longitude: player.longitude,
                latitude: player.latitude,

            } %}

    <div data-player='{{ player|json_encode|raw }}'>
    </div>

然后在 javascript 文件中使用这个:

const player_data =document.querySelectorAll('[data-player]');
const playerObject =Array.from(player_data).map(item => JSON.parse(item.dataset.player));
console.log(playerObject);

但是控制台日志向我显示了一个空数组,即使我打印了应该是 JSON 文件的 player_data 变量,控制台也会向我显示一个空节点,我查看了许多网站和 Symfony 文档,但我可以'找不到任何好的详细示例。

希望您能帮助我,并在此先感谢您。

【问题讨论】:

    标签: javascript json symfony twig


    【解决方案1】:

    你的错误是你编码player,而你需要编码player_data。尝试将您的代码更改为:

    <div data-player='{{ player_data | json_encode | raw }}'>
    </div>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多