我有以下代码段:
<p>AAA</p>
<div ng-show="files.length == 0">
<p>BBB</p>
<tr class="no-files">
<p>CCC</p>
<td colspan="2">
<p class="no-files">There are no files to load.</p>
</td>
</tr>
</div>
ng-show
似乎只将自己的div
标记为(in)可见,而不是该div的内容。在我的应用程序中,无论files
中的元素数量如何,都会显示“没有文件...”消息。我希望显示/隐藏整个div。我做错了什么,或者ng-show
是如何工作的?
在上面的示例中,当文件数大于零时,将显示AAA和CCC。
这是正确的行为还是我做错了什么?
答案 0 :(得分:1)
p
无法出现在表格单元格之外的table
中。 div
也不能。ng-show
。请改用tr
元素上的<tr class="no-files" ng-show="files.length == 0">
<td colspan="2">
<p class="no-files">There are no files to load.</p>
</td>
</tr>
。
{{1}}
答案 1 :(得分:1)
首先,我要说你的HTML无效。 <div>
s不能包含表行。尝试删除包装器<div>
并将ng-show
放在<tr>
。