不使用角度函数的角度滤波器

时间:2017-01-24 13:07:06

标签: angularjs filter

我想要做的是创建2个角度表来显示任务。在第一个表中,我想显示未分配给用户的所有任务,在第二个选项卡中,我想显示分配给用户的所有任务

UsersDTO是数组,我可能有更多用户分配到同一任务。

我的HTML代码看起来像这样。这是我获得所有分配用户的任务的选项卡。我不太确定为什么这样做有效,但我认为它会以某种方式查看属性并检查是否有任何内容。

enter image description here

<tbody>
    <tr ng-repeat="task in project.ProjectTasksDTO | filter: {UsersDTO: {}}">
         <td>{{task.Id}}</td>
         <td>{{task.Title}}</td>
         <td>{{task.Text}}</td>
         <td>{{task.Description}}</td>
         <td><p ng-repeat="user in task.UsersDTO">{{user.UserName}}</p></td>
         <td>{{task.Status}}</td>                                                  
         <td>{{task.CreatedBy}}</td>
         <td><button class="btn-info" ng-click="editUser(user);">Profile</button></td>
    </tr>
</tbody>

有没有办法告诉过滤ng-repeat UsersDTO是空还是空,如下面的代码所示。

enter image description here

<tbody>
    <tr ng-repeat="task in project.ProjectTasksDTO | filter: {UsersDTO: {null}}">
         <td>{{task.Id}}</td>
         <td>{{task.Title}}</td>
         <td>{{task.Text}}</td>
         <td>{{task.Description}}</td>
         <td><p ng-repeat="user in task.UsersDTO">{{user.UserName}}</p></td>
         <td>{{task.Status}}</td>                                                  
         <td>{{task.CreatedBy}}</td>
         <td><button class="btn-info" ng-click="editUser(user);">Profile</button></td>
    </tr>
</tbody>

1 个答案:

答案 0 :(得分:0)

嗨,你可以这样做而不需要功能。

<div ng-repeat="task in project.ProjectTasksDTO | filter:{UsersDTO.length: 0}:true">

<div ng-repeat="task in project.ProjectTasksDTO | filter:{UsersDTO.length: 0}:false">

Altough请记住:true和:false表示法实际上是一个角度特定的简写表示法,将在文字比较中用函数(实际的,预期的)替换,以查看它们是否匹配是:true或no:false < / p>

Fidle