【问题标题】:How to break for loop in JSrender如何在 JSrender 中打破 for 循环
【发布时间】:2016-11-18 13:11:38
【问题描述】:

例如

"data" : [{
                            "name" : "peter"
                        }, {
                            "name" : "John"
                        }
                    ]

{{for data}}

{{if name == "peter"}}
{{:name}} 

{{/if}}

{{/for}}

在这里,当 name 是 peter 时,我需要中断 for 循环。我不想下一次迭代

【问题讨论】:

    标签: jquery jsrender


    【解决方案1】:

    据开发人员称,this seems to be unsupported。 最好的选择是提供已过滤的集合。

    【讨论】:

    • 你的意思是在jsrender中没有实现break概念?
    • 没错。根据开发人员的说法,“这将使实现非常程序化和有状态”。许多开发人员喜欢尽可能避免使用有状态代码,因为它更容易出现错误。
    【解决方案2】:

    正如 Haroldo_OK 所说,不支持以声明方式中断循环的功能(例如 {{break/}} 标记)。但是你可以编写一个辅助函数,例如truncate,它接受data 数组并返回一个适当截断的数组,然后编写:

    {{for ~truncate(data)}...{{/for}}
    

    {{for data convert=~truncate}}...{{/for}}
    

    或者您可以基于{{for}} 编写自定义标签并提供中断或截断功能。查看{{range}} 标签示例:http://www.jsviews.com/#search?s=%7B%7Brange&f=jsv-txt-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 2018-06-14
      • 1970-01-01
      • 2014-04-04
      • 2023-03-13
      相关资源
      最近更新 更多