2019-12-13 twig for循环不支持break和continue

本文介绍了在Twig模板语言中,由于不支持break和continue语句,如何通过条件判断来有效地实现类似功能,从而避免在循环内部嵌套过多的if语句,提高代码可读性。示例代码展示了如何巧妙地处理权限检查,减少冗余代码。
摘要由CSDN通过智能技术生成

在twig中 for循环不支持break和continue跳出循环, 但是为了解决类似的问题也有不错的解决方案

{% set invisibleNames = ['admin_v2.course.basic.basic_tab.delete_submit_btn', 'admin_v2.course.basic.basic_tab.clone_btn'] %}
  {% for permission in permissions if courseSet.sourceCourseSetId <= 0 or permission.name not in invisibleNames %}
    <li>
      {% if permission.visible is defined %}
        {% if eval_expression(permission.visible) %}
          {{ self_macro.menu_link_html(_context, permission, permission.class|default('')) }}
        {% endif %}
      {% else %}
        {{ self_macro.menu_link_html(_context, permission, permission.class|default('')) }}
      {% endif %}
    </li>
  {% endfor %}

注意看第二行, 这个就很有效的解决了需要用到break和continue的问题, 也不会有在for循环内嵌套多层if语句的垃圾代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值