面对Angular过滤器的问题

时间:2015-07-05 06:53:50

标签: angularjs

我正在尝试在我的角度模板中添加搜索框,用户可以在其中键入任何字符,系统将根据用户输入过滤来自不同表格的数据。如果找不到学生,我想要显示消息'找不到匹配的学生'

这是我想要做的。

我面临的问题是

  

它始终显示“没有匹配的学生发现的消息'无论搜索结果如何。

<div>
 <input type="text" ng-model="searchStudent">
<div>
    <div ng-repeat="studentPermissions in studentPermissions">
        <div ng-repeat="student in studentPermissions.entities">
            <table>
                <thead>
                    <tr>
                        <td >Student</td>
                        <td>{{student.StudentName}}</td>
                    </tr>
                    <tr>
                        <th></th>
                        <th ng-repeat="permission in student.entityStudents[0].userPermissions"><div><span>{{permission.Name}}</span></div></th>
                    </tr>
                </thead>
                <tbody>
                    <tr ng-repeat="student in student.entityStudents | filter:searchStudent">
                        <td>{{student.FirstName}} {{student.LastName}}</td>
                        <td ng-repeat="permission in student.userPermissions">
                            <input ng-model="permission.Checked" type="checkbox">
                        </td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</div>

<div ng-show="!(student.entityStudents | filter:searchStudent).length">
    No match student found
</div>

2 个答案:

答案 0 :(得分:0)

请给我plunkr,帮助我回答你的问题 我认为问题是你直接写了没有匹配发现你没有写{{student.entityStudents}}或者你的变量名是什么

问题是这两个变量同名的拼写错误<div ng-repeat="studentPermissions in studentPermissions">

答案 1 :(得分:0)

我已根据搜索结果通过控制器中的全局范围变量解决了此问题,而不是在UI上显示/不显示消息。