javascript - 当过滤的搜索栏不返回任何内容时,如何 ngShow a div?

标签 javascript angularjs web

首先我将提供背景信息,然后显示一些代码片段。

  1. 我有一个 ng-repeat,它是重复的类似盒子的小部件,里面有数据/信息。

  2. 我有一个搜索栏,可以过滤小部件中的数据,并且仅显示包含搜索栏中字符串的小部件。

  3. 考虑到数字 2,当输入的字符串不在任何小部件中时,它会将页面留空,没有小部件。 (它使没有该字符串的小部件消失)

我想要的是:在没有返回结果时显示一个div,而不是显示一个空白页面。

为了举例,我有:

<input type = "text" data-ng-model = "searchWidgets" />

<div id="main-content-body" data-ng-repeat="widget in widgets | filter:searchWidgets">

    <div id="falsy-search" ng-show="!searchWidgets.length">
        <h1 id="inset-message" class="text-center">No Results Found</h1>
    </div>

    <section>
        (this is where all the widgets get displayed)
    </section>

</div>

预先感谢您的时间和投入!

最佳答案

你可以有几个选项,最简单的一个是将filteredWidgets保存为其自己的对象,然后使用ng-show:

<div id="main-content-body" data-ng-repeat="widget in (filteredWidgets = (widgets | filter:searchWidgets))">

    <div id="falsy-search" ng-show="!searchWidgets.length || filteredWidgets.length == 0">
        <h1 id="inset-message" class="text-center">No Results Found</h1>
    </div>

    <section>
        (this is where all the widgets get displayed)
    </section>

</div>

Related SO Question

关于javascript - 当过滤的搜索栏不返回任何内容时,如何 ngShow a div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30109751/

相关文章:

php - 如何在加载时打开此模式窗口 - PHP

javascript - ASP.NET MVC - JQuery 日期选择器格式

javascript - Onsen UI 拉钩在选项卡中使用时抛出错误

php - 此路由不支持 POST 方法。支持的方法 : PUT, 修补、删除

javascript - 如何在不增加页面高度的情况下生成html元素

python - 使用 Python 从检查元素中获取代码

.net - JavaScript:使用/关于 .NET String.Format() 等文化来格式化数字/货币?

javascript - 如何在没有任何点击的情况下通过浏览器自动完成属性自动填充表单?

javascript - Angular JS 中站点范围配置的设计模式

angularjs - Typescript:让 ts 知道函数中的类