getAssignedPrivilegeslist

getAssignedPrivilegeslist

表中未显示空文本
我正在用桌子
现在是空的

<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>ID</th>
            <th>Privilege Name</th>
            <th>PageUrl</th>
            <th>Can Add</th>
            <th>Can Edit</th>
            <th>Can Delete</th>
            <th>Can View</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="obj in getAssignedPrivilegeslist" ng-show="getAssignedPrivilegeslist.length !=0 && getAssignedPrivilegeslist !='null'">
            <td>{{$index+1}}</td>
            <td>{{obj.PageName}}</td>
            <td><a ng-href="{{'//'+obj.PageUrl }}">{{obj.PageUrl}}</a></td>
            <td>
                <input type="checkbox" name="Add" value="Add" ng-model="obj.CanCreate" />
            </td>
            <td>
                <input type="checkbox" name="Edit" value="Edit" ng-model="obj.CanEdit" />
            </td>
            <td>
                <input type="checkbox" name="Delete" value="Delete" ng-model="obj.CanDelete" />
            </td>
            <td>
                <input type="checkbox" name="View" value="View" ng-model="obj.CanView" />
            </td>
            <td ng-show="getAssignedPrivilegeslist.length==0" id="nofoundop">Please Select Operator</td>
        </tr>
    </tbody>
</table>


然后我设置<td>如果数据长度为0,则显示给定的消息,但未显示。
请帮助,我将非常感谢大家。

最佳答案

您必须在代码中进行以下三个更改:


可以使用ng-show="getAssignedPrivilegeslist.length !=0"代替ng-show="getAssignedPrivilegeslist.length"。正如Harris Weinstein在他的评论中所建议的那样,如果列表的长度是除0之外的任何数字,它将被评估为true,并且如果它是0或无法访问(因为它是未定义的),则它将被评估为false。
不要使用字符串文字getAssignedPrivilegeslist !='null',而是使用getAssignedPrivilegeslist !=null
将具有错误消息的元素放在<tr>之外,因为您已经将ng-show="getAssignedPrivilegeslist.length !=0"放在<tr>标记中。


您可以按照sexta13的建议在<tr>标记之外使用以下代码:

<tr ng-show="getAssignedPrivilegeslist.length==0" >
   <td id="nofoundop">
      please select operator
   </td>
</tr>

09-18 19:34