2013-12-19 123 views
7

是否可以删除或禁用HTML注释angular生成?从html中删除角度评论

<ol class="items"> 
    <!-- ngRepeat: item in list | orderBy:'time':true --> 
</ol> 

它打破使用:empty伪类的CSS规则。

ol:empty { 
    content: "No results"; 
} 

为了使规则应用,需要有没有空白或者注释:

<ol></ol> 
+1

作为替代 - 你可以在'!list.length'上使用'ng-show' –

+1

[在Angular JS中删除帮助程序HTML注释?](http://stackoverflow.com/questions/20508412/remove -helper-html-comments-in-angular-js) – zsong

+1

可以在标记中使用'ng-if而不是css来产生'No Results' – charlietfl

回答

2

我结束了添加类.emptyng-class="{ empty: !list.length }"和应用CSS规则的方式,而不依靠pseudoelement :empty

0

虽然不是最有效的或直接的方式做到这一点,你可以使用JavaScript来删除元素的内容。像这样的东西应该工作:

document.getElementsByClassName('items').innerHTML = ""; 

我不知道你有什么样的结构,但我敢肯定,在加载CSS之前,你可以偷偷这...

编辑

在阅读@zsong链接的帖子和这篇文章here之后,您可能最终会破坏Angular尝试这样做。只有一种方法来找出我猜!

1
$compileProvider.debugInfoEnabled(false); 

但它可以打破一些有角度评论引用的插件。