表中未显示空文本
我正在用桌子
现在是空的
<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>