【问题标题】:How to limit the objects in angularjs ng-repeat?如何限制angularjs ng-repeat中的对象?
【发布时间】:2018-08-29 17:44:03
【问题描述】:

我的 $scope 值: 我在$scope.articles 中获取数组值

示例:$scope.articles 值如下所示:

[
   {
    date: 'some', 
    category: [ {name: "Sports"}, {name: "News"}, {name: "Cinema"} ] 
   }
]

我的桌子视图:(玉)

table
  tbody
   tr
     th Date
     th Categories

   tr(ng-repeat='article in articles')
     td
       span {{ article.date }}
     td
      span(ng-repeat='cat in article.category') 
       span {{ cat.name}}

Plunkr:https://plnkr.co/edit/PW51BBnQEv589rIdnaCK?p=preview

这工作正常,但如果类别数组由 3 个以上的对象组成,表会变得混乱, 所以我想限制类别,我想只显示2个对象

例如在 UI 中我想在表格中显示类别 SportsNews,然后我想把这个.....点类型的 UI,如果用户将鼠标悬停在 ... 点附近,我想显示其他类别 例如 Cinema

【问题讨论】:

    标签: javascript angularjs angularjs-ng-repeat pug angularjs-limitto


    【解决方案1】:

    您必须创建一个自定义过滤器,为您提供数组的 2 条记录并在过滤器中传递跳过限制,以便在单击或悬停点时获得下一个 2 个数组对象...

    【讨论】:

      【解决方案2】:

      您正在寻找limitTo

      <div ng-repeat="item in cat in article.category | limitTo: 2">
      

      【讨论】:

      • limitTo 不适用于对象。阅读完整的问题兄弟
      • 你为对象工作意味着什么?任何带有 ng-repeat 的东西都应该带有 limitTo
      • 哦,对不起,这是我的错误。现在如何显示其他?例如,如果在类别附近使用鼠标悬停,则需要显示所有类别。看看我的问题
      • 你需要基本移除过滤器limitTo,我建议你使用自定义过滤器并在鼠标移动事件上调用过滤器
      • 我基本上写了简单的逻辑来消除限制它的工作,但问题是如果我悬停下面的所有类别也会显示,如果我悬停在第一行我只想显示第一行数组
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多