我刚刚开始 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/