angularjs - 在某些条件匹配后如何检查视图中的 ng-repeat 是否为空
问题描述
- 我有一个来自 JSON 的对象。
- 我使用 ng-repeat 来显示对象。
- 为了只显示某些行,我使用 if 条件而不是过滤器。
- 我的问题是,在我使用 if 条件之后,如果没有符合条件的行,我需要显示“空”警报。我怎样才能做到这一点?
截至目前我的对象是这样的
[{
"task_id":3773,
"task_name":"King of Avalon: Dragon War",
"task_status":"pending"
},
{
"task_id":2208,
"task_name":"Final Fantasy XV",
"task_status":"pending"
},
{
"task_id":3760,
"task_name":"King of Avalon: Dragon War",
"task_status":"pending"
},
{
"task_id":2746,
"task_name":"Postmates",
"task_status":"complete"
}]
如您所见,“task_status”列。它有各种值:“完成”、“待定”、“新”。
我正在使用以下代码单独显示“新”任务。
<div ng-repeat="(key, task) in tasksObj" ng-if="task.task_status == 'new'>
<p>{{task.task_id}}</p>
</div>
当没有可用的“新”任务时,如何显示空行错误?
解决方案
您可以在控制器中编写该逻辑,您可以在其中检查所有任务是否没有new
状态并相应地发出警报。
angular.module('app', [])
.controller('MainCtrl', ['$scope', function($scope) {
$scope.tasksObj = [{
"task_id": 3773,
"task_name": "King of Avalon: Dragon War",
"task_status": "pending"
}, {
"task_id": 2208,
"task_name": "Final Fantasy XV",
"task_status": "pending"
}, {
"task_id": 3760,
"task_name": "King of Avalon: Dragon War",
"task_status": "pending"
}, {
"task_id": 2746,
"task_name": "Postmates",
"task_status": "complete"
}];
let nonNewStatus = $scope.tasksObj.every(({task_status}) => task_status!=='new');
if(nonNewStatus) {
alert('There is no any task with status: new');
}
}])
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app" ng-controller="MainCtrl">
<div ng-repeat="(key, task) in tasksObj" ng-if="task.task_status =='new'">
<p>{{task.task_id}}</p>
</div>
</div>
推荐阅读
- php - Saas 应用程序变得越来越大!数据库架构问题?
- amazon-web-services - 在 dynamoDB 中分页时限制 1000 个项目查询
- r - 在 flexdashboard 中的数据表的 PDF 输出中添加图像
- promql - 有什么办法可以减少普罗米修斯警报表达式的代码吗?我有多个类似的表达式只有源实例不同
- python - 如何在 pandas DataFrame.from_records 中默认使用 pd.NA?
- php - 试图从firebase检索数据到我的php项目,但它总是返回null
- haskell - 创建 Xmonad 配置时使用 IO(键盘映射取决于连接的监视器数量)
- javascript - 如何在 NodeJS 中使用正则表达式查找不匹配的部分?
- windows - 有没有办法使用 GraalVM 从 Jetpack Compose Desktop 应用程序创建本机二进制文件?
- javascript - 配置 react-native-offline 时得到 undefined is not an object 'state.network.isConnected 使用 redux-persist 和 redux-thunk