javascript - 使用过滤器在 Angularjs 中执行搜索后清除列表?

标签 javascript angularjs filtering angularjs-filter

我刚刚开始 ng,我必须说它太有趣了!我正在使用此网站的示例 http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/特别是“使用 Angular JS 过滤数据”

我按照这个例子做了,效果很好。该示例显示了列表,当您键入名称时,它会对其进行过滤并显示完全匹配的内容。

我不想停在那里并更多地玩它,我想做的不是最初显示任何列表,而是在用户键入时显示列表。这是我的index.html:

<div id='content' ng-app='MyTutorialApp' ng-controller='MainController'>
    <input type='text' ng-init='searchText=" "' ng-model='searchText' />
    <ul>
        <li ng-repeat='person in people | filter:searchText'>#{{person.id}} {{person.name}}</li>
    </ul>
</div>

正如你所看到的,我正在对 searchText 变量执行 ng-init ,当我最初打开页面时,即没有列表,这工作正常。但是,当我输入名称时,即使我清除输入框,列表也会在过滤完成后保留在那里。如何让列表在清空输入框后消失?

我需要某种自定义过滤器吗?

如果我使用了不正确的术语,请原谅我对 ng 的无知,并请告诉我正确的术语:)

最佳答案

您可以使用 ng-show/ng-hide 根据特定条件显示/隐藏列表,因为当前您希望在 searchText 上显示/隐藏列表

    <ul ng-show="searchText !==''">
        <li ng-repeat='person in people | filter:searchText'>#{{person.id}} {{person.name}}</li>
    </ul>

关于javascript - 使用过滤器在 Angularjs 中执行搜索后清除列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24960205/

相关文章:

javascript将子字符串替换为重复次数的值

javascript - IE 不记得后退按钮上的隐藏字段值

angularjs - 在 ng-repeat 中向 ng-click 函数添加参数似乎不起作用

awk - 如何打印出 AWK 中的特定字段?

python - Pandas 分组、过滤和绘图

filtering - ZeroMQ 主题过滤与 Pub/Sub(Java 绑定(bind))

javascript - Jquery 在表行中的两个类之间切换

javascript - ng-repeat 不显示行

javascript - 如何使用 Angular Directive(指令)创建点击事件?

javascript - 如何隐藏/显示父 View 的元素?