【问题标题】:Remove perticular entry from the ng-repeat while loading加载时从 ng-repeat 中删除特定条目
【发布时间】:2015-04-27 16:50:08
【问题描述】:

我试图在输出时从列表中删除一些特定的循环或条目。这是我的列表的样子:

我想从列表中删除一些特殊项目,例如:“检查我们的档案”、“精选资料”。那么这怎么可能呢?有什么过滤器可以用吗?

我的ng-repeat 是这样的:

<ons-list-item modifier="chevron" class="list-item-container" ng-repeat="ListingData in AllData">
    <ons-row ng-click="setCurrentCategory(ListingData.slug);  app.navi.pushPage('directory-page.html', { animation : 'slide' } )">
        <ons-col>
            <div class="name">
              {{ListingData.title}}
            </div>
         </ons-col>
         <ons-col width="40px"></ons-col>
    </ons-row>
</ons-list-item>

如果需要,我也可以发布控制器。

【问题讨论】:

标签: angularjs angularjs-ng-repeat


【解决方案1】:

你可以使用 ng-if

 <div ng-if="ListingData.title !=  'Check it Our Archives' && ListingData.title !=  'Featured Profile'" class="name">
      {{ListingData.title}}
   </div>  

【讨论】:

    【解决方案2】:

    在您的控制器中,在将数据传递给视图之前,您可以使用Array.prototype.filter 过滤项目。否则,您可以使用角度过滤器,但在我看来,如果您不想显示项目,则不应将其传递给视图。

    下面是一个快速示例,说明作用域中的数据如何具有数组的过滤内容:

    var pages =  [{ title : 'Page one'}, { title : 'Page two'}];
    
    // this filters the pages array to display every item that is not titled "Page one"
    $scope.data = pages.filter(function(p){
       return p.title !== 'Page one';
    });
    

    【讨论】:

    • 你能给我推荐一个同样的例子吗?
    • 你的回答很棒!它可以很好地工作!但是我使用的系统对我没有帮助。但它对我来说看起来不错。
    猜你喜欢
    • 2017-01-15
    • 1970-01-01
    • 2015-11-29
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多