gpt4 book ai didi

javascript - 在 AngularJS 中使用嵌套的 ng-repeat 时只显示一次 "No result"

转载 作者:行者123 更新时间:2023-11-29 19:32:39 25 4
gpt4 key购买 nike

我的范围有一个名为“ideas”的对象数组,格式如下:

{
"id":1,
"own":true,
"ideas":[
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine",
"ready"
]
}

我首先需要根据“自己的”属性进行过滤(自定义过滤器 includeReceived)。然后我希望最终结果仅返回嵌套“ideas”数组中的匹配项。

<div ng-repeat="idea in ideas | includeReceived:checked">
<div ng-repeat="ideaText in filteredIdeas = (idea['ideas'] | filter:search)">
{{ideaText}}
</div>

<div ng-hide="filteredIdeas.length">There is no result</div>
</div>

这很好用,但我想在找不到任何东西时显示消息“没有结果”。上面的代码为外部 ng-repeat 的每次迭代显示此消息。非常感谢您的任何想法。

最佳答案

您可以将“搜索”过滤器附加到第一组结果,以清除那些没有搜索到的文本的结果。然后,Angular 1.3.0 提供了对过滤结果进行别名的能力,所以你可以这样做:

<div ng-repeat="idea in ideas | includeReceived:checked | filter: {ideas: search} as filteredIdeas">
<div ng-repeat="ideaText in idea['ideas'] | filter:search">
{{ideaText}}
</div>
</div>

<div ng-if="filteredIdeas.length === 0">There is no result</div>

关于javascript - 在 AngularJS 中使用嵌套的 ng-repeat 时只显示一次 "No result",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26708958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com