jquery – 限制每个在handlebars.js中的结果

前端之家收集整理的这篇文章主要介绍了jquery – 限制每个在handlebars.js中的结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个显示推文的小插件。以下是循环显示推文的代码
<script id="tweets-template" type="text/x-handlebars-template" >
        {{#each this}}
        <li>
        <p>{{tweet}}</p>
            <span id="author">{{author}}<span/>
        </li>
        {{/each}}
    </script>

但是我想做的是将tweet的数量限制为5或10.但是循环列出了所有可用的推文。如何限制像循环中的推文。喜欢

for(i=0;i<5;i++){display the tweets}

解决方法

我想你有两个选择:

>将其收集的大小限制在Handlebars之前。
>编写自己的块助手,让您指定一个限制。

实际的each implementation是非常简单的,所以适应包括上限是相当简单的:

// Warning: untested code
Handlebars.registerHelper('each_upto',function(ary,max,options) {
    if(!ary || ary.length == 0)
        return options.inverse(this);

    var result = [ ];
    for(var i = 0; i < max && i < ary.length; ++i)
        result.push(options.fn(ary[i]));
    return result.join('');
});

然后在你的模板中:

<script id="tweets-template" type="text/x-handlebars-template" >
    {{#each_upto this 5}}
        <li>
            <p>{{tweet}}</p>
            <span id="author">{{author}}<span/>
        </li>
    {{/each_upto}}
</script>
原文链接:https://www.f2er.com/jquery/182739.html

猜你在找的jQuery相关文章