我正在开发一个自定义指令,当示波器中没有任何内容显示时,它将显示已转换空模板 - 如此plunker。
我无法在ng-repeat中删除空模板,也无法在没有数据时显示空消息。如果没有显示任何内容,如何显示空模板?
答案 0 :(得分:1)
实际上我不确定在指令中执行它是否正确 - 您最好在主模板中显示不同的DIV。
但这是我的想法:不是转换,而是根据是否有任何要显示的项目进行手动编译。
这里有效(但仍然有点脏)plunker:http://plnkr.co/edit/dxUjpeCbSKKjaXqK9qBF?p=preview
请注意,即使我正在观看整个列表,只有在状态(空/非空)发生更改时才会重新编译。
注意2:它不是完全转换 - 模板内的范围(空和非空)将被隔离到指令的范围。您可以通过使用不同的编译或子范围来解决这个问题 - 有几个解决方案,但它们与此问题无关:)
答案 1 :(得分:0)
你不需要这个指令。只需从app.js
中删除指令,然后用以下代码替换按钮后面的代码:
<div ng-hide="things.length">nothing to show here</div>
<div ng-show="things.length">
<ul>
<li ng-repeat="thing in things">thing #{{thing}}</li>
</ul>
</div>