【问题标题】:Aurelia repeat.for limitAurelia repeat.for 限制
【发布时间】:2019-06-14 17:10:04
【问题描述】:

我正在使用 Aurelia 开发一个应用程序,假设我有一个循环:

<div repeat.for="t of allTags">${t.name}</div>

有很多条目,所以我自然想限制显示的数量。所以基本上我想有类似Angular的重复限制:

<div ng-repeat="t in allTags | limitTo:5 ">{{t.name}}</div>

我已经检查了http://aurelia.io/docs.html 此处的文档,但没有找到关于该主题的任何内容。

Aurelia 中是否有类似的功能?如果不是,我宁愿在控制器中使用$index 剪切列表吗?

谢谢!

【问题讨论】:

    标签: javascript aurelia


    【解决方案1】:

    选项 1:使用值转换器。

    take-value-converter.js

    export class TakeValueConverter {
      toView(array, count) {
        return array.slice(0, count);
      }
    }
    

    app.html

    <require from="./take-value-converter"></require>
    
    <div repeat.for="t of allTags | take:5">${t.name}</div>
    

    此场景和许多其他场景的实时示例here

    aurelia.io 上有关值转换器的其他文档

    选项 2:重复一个数字

    <div repeat.for="i of 5">${allTags[i].name}</div>
    

    【讨论】:

    • 是否可以从不同于 0 的索引开始?
    【解决方案2】:

    如果您想从不同的值开始,您可以编辑TakeValueConvertertoView 方法处添加第三个参数。

    toView(array,start,count){
      return array.slice(start,count);
    }
    

    但是你必须自己以某种方式跟踪最后一个位置

    【讨论】:

      【解决方案3】:
      <div if.bind="$index<5" repeat.for="t of allTags">${t.name}</div>
      

      使用索引以及是否阻止超出索引条件的其余记录

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-12
        • 2021-05-05
        • 2015-04-09
        • 1970-01-01
        相关资源
        最近更新 更多