【问题标题】:Optimize an 'if else' statement in twig优化 twig 中的“if else”语句
【发布时间】:2014-03-13 23:44:20
【问题描述】:

我有以下代码:

<div class="other_left_array" >
      {% if followeds.followeds_posts_counts[key] > 0 %}
        <a id="2"  href="javascript:void(0);" class="left_array_trigger">
            la
        </a>
      {% else %}
        <a id="2" style="display: none" href="javascript:void(0);" class="left_array_trigger">
            la
        </a>
      {% endif %}
   </div>

我觉得还有另一种更优化的方式来编写这样的代码,尤其是这两个语句之间的唯一区别是:style="display: none"。非常感谢您的帮助。

【问题讨论】:

标签: html performance symfony if-statement twig


【解决方案1】:

你可以试试这个,

<div class="other_left_array" >          
 <a id="2" {%if followeds.followeds_posts_counts[key]>0 %} style="display: none;"  {%endif%}     href="javascript:void(0);" class="left_array_trigger">
       la
    </a>             
 </div>

【讨论】:

    【解决方案2】:

    只要把 if 语句放在那个地方:

    <div class="other_left_array" >
        <a id="2" {% if followeds.followeds_posts_counts[key] > 0 %}style="display: none"{% endif %}  href="javascript:void(0);" class="left_array_trigger">
            la
        </a>
    </div>
    

    为了更好看,可以使用三元运算符:

    <div class="other_left_array" >
        <a id="2" {{ followeds.followeds_posts_counts[key] > 0 ? 'style="display: none"' : '' }}  href="javascript:void(0);" class="left_array_trigger">
            la
        </a>
    </div>
    

    或者你可以使用{% spaceless %}标签:

    <div class="other_left_array" >
        {% spaceless %}
        <a
            id="2"
            {% if followeds.followeds_posts_counts[key] > 0 %}
                style="display: none"
            {% endif %}
            href="javascript:void(0);"
            class="left_array_trigger"
        >
        {% endspaceless %}
            la
        </a>
    </div>
    

    【讨论】:

    • 谢谢Wouter,第二个使用三元运算符的解决方案是,恕我直言,最好的一个。
    • @whitelettersandblankspaces 三元如何最好?您始终在输出字符串或空字符串。使用第一个解决方案,您仅在需要时才尝试输出某些内容。
    • 是啊啊,你是对的@crypticツ。我计算错了。谢谢你纠正我。
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2020-11-23
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    相关资源
    最近更新 更多