【问题标题】:Angular if ng-repeat multi filter is empty如果 ng-repeat 多过滤器为空,则为 Angular
【发布时间】:2015-04-25 10:09:16
【问题描述】:

假设我的ng-repeat 中有多个过滤器,如下所示:

input.search(ng-model="filter", placeholder="Search...")

ul.list
  li(ng-if="things.length === 0") It looks like we don't have any things.
  li(ng-repeat="thing in things | orderBy:'name' | filter: search")
    span {{ thing.name }}

现在,如果我最初没有things,那么我会收到这样的消息。但是,如果我按不产生任何结果的内容进行过滤,它不会显示消息,我理解。

我的问题是,如何实现多重过滤器ng-repeat 并在集合或过滤器没有产生结果时显示消息?

我一直在搞乱this example 无济于事。我的尝试:

thing in filteredThings = thing | orderBy: 'name' | filter: search

【问题讨论】:

    标签: javascript angularjs filter angularjs-ng-repeat


    【解决方案1】:

    你很接近,语法有点不对:

    (ng-repeat="thing in filteredThings = (things | orderBy:'name' | filter: search"))
    
    li(ng-if="filteredThings.length === 0") It looks like we don't have any things.
    

    【讨论】:

    • 所以我的尝试惨遭失败(示例已更新)。我尝试了上述方法,但出现错误。更大的问题是filteredThings 来自哪里? things 是范围内的集合,filteredThings 也必须存在吗?还是动态创建的?
    • @Seth - 它是动态创建的 - 你遇到了什么错误?
    • 我把右括号放在ng-repeat 属性之外......在宇宙中一切都很好。感谢您的帮助!
    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多