如何比较twig值和JS值?

时间:2016-01-16 14:21:28

标签: javascript jquery twig

情况:我需要将JS变量值与一个Twig变量值进行比较,在jQuery函数内部或者根据给定的ID号以某种方式从Twig数组中访问特定对象。

描述情况的代码:

    "laravel/lumen-framework": "5.1.*",
    "vlucas/phpdotenv": "~1.0",
    "doctrine/dbal": "~2.3",
    "illuminate/mail": "^5.1",
    "tymon/jwt-auth": "^0.5.6",
    "basicit/lumen-vendor-publish": "^1.0",
    "illuminate/support": "5.1.25",
    "illuminate/routing": "5.1.25"

或类似的东西(如果它甚至可能):

            var id = ...;
            {% for user in userlist %}
             {% if user.id == id %}
                 var userInfo = $.parseJSON({{ user }};
             {% endif %}
            {% endfor %}

            $('#username-field').html(userInfo['username']);
            ...

问题:由于Twig无法访问JS值,我不知道如何在twig {%...%}括号内放置某种占位符。

最好从已经通过请求发送到Twig模板的集合中访问所选对象,而不是创建新的Ajax请求,以便再次从控制器获取特定对象。

1 个答案:

答案 0 :(得分:2)

Twig 服务器端模板引擎。不幸的是,您无法比较枝条变量和javascript变量。因此,您应该从服务器端传递关键变量id。因此,userlistid必须是树枝变量。

{% for user in userlist %}
 {% if user.id == id %}
     var userInfo = {{ user.username|json_encode|raw }}; // or {{ user.username|raw }}
 {% endif %}
{% endfor %}

$('#username-field').html(userInfo);