在我的 html 中,我有这段代码,它是表格的一部分:
<tr ng-show="isRowVisible(certificate.Id)" class="no-hover">
<td colspan="{{ columnChooser.getNumberOfVisibleColumns() }}" data-ng-switch="isRowVisible(certificate.Id)">
<div ng-switch-when="true">
<certificate-details-window
certificate-id="certificate.Id"
form-data="formData"
visible="isRowVisible(certificate.Id)"
close="toggleDetailsRow($event, certificate.Id)"
on-certificate-saved="certificateSaved(certificate)"
on-customer-saved="customerSaved(customer)">
</certificate-details-window>
</div>
</td>
</tr>
因此,当用户单击上面的行时,该行变得可见,因为该isRowVisible(..)
函数返回 true。
当页面加载时,isRowVisible()
函数总是返回false,这意味着<certificate-details-window>
标签没有被渲染。但是指令的模板是从服务器加载的......
但是,此标签还包含其他自定义标签。令我惊讶的是,我在 Chrome 的网络选项卡中看到自定义标签的所有模板都是从服务器加载的。这怎么可能?