在 AngularJS 中实现搜索:默认方式
Implementing search in AngularJS: default way
我已经在我的angularjs应用程序中实现了默认搜索,代码如下:
<div>
<input type="text" ng-model="searchKeyword" placeholder="Search records...">
<div class="checkbox" ng-repeat="record in records | filter: searchKeyword">
<label class="ms-pl-xs">
<input type="checkbox">{{record.value}} [{{record.count}}]
</label>
</div>
我在这里面临的问题是,假设有人碰巧触发了一些在 ng 重复的记录中不存在的关键字。我想要一条消息,说明"未找到任何内容"或其他任何内容。
如何实现该逻辑?我在这里浏览了不同的文章和几个问题,在这方面找不到任何东西。我如何查看搜索的术语长度是否为零,以便我可以ng-if那个东西并显示消息?谢谢!
如果您使用的是 Angular 1.3+,则可以使用别名:
<div>
<input type="text" ng-model="searchKeyword" placeholder="Search records..." />
<div class="checkbox" ng-repeat="record in records | filter: searchKeyword as found">
<label class="ms-pl-xs">
<input type="checkbox">{{record.value}} [{{record.count}}]
</label>
</div>
<div ng-if="found === 0">
Nothing found
</div>
</div>
相反,如果您必须使用较旧的 Angular,您可以将过滤器的结果分配给新数组,然后检查其长度:
<div>
<input type="text" ng-model="searchKeyword" placeholder="Search records..." />
<div class="checkbox" ng-repeat="record in filteredRecords = (records | filter: searchKeyword)">
<label class="ms-pl-xs">
<input type="checkbox">{{record.value}} [{{record.count}}]
</label>
</div>
<div ng-if="filteredRecords.length === 0">
Nothing found
</div>
</div>
相关文章:
- 用嵌套函数和默认函数定义函数
- 为什么这在IE中的工作方式与在Firefox中不同
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 如何使用铁流星与流星的默认路线
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用javascript存储变量的最安全方式
- CKeditor:更改对话框中的默认选择选项
- 在不阻止默认行为的情况下检测IE10中的缩放
- 向插件添加属性(不是默认方式)
- UIWebView - 以编程方式设置默认日期
- 如何防止从浏览器触发默认快捷方式
- Babel 6改变了导出默认值的方式
- iOS设备处理:hover伪类的默认方式是什么?
- 是否有默认方式向引导表单中的每个输入文本字段添加编辑按钮?
- Silverlight上的快捷方式,以及默认的浏览器快捷方式
- 删除默认IOS日期选择器的最佳方式
- 这是正确的方式吗;覆盖“;jQuery插件(提供默认设置)
- 在 AngularJS 中实现搜索:默认方式