似乎AngularJS在HTML模板的第一行处理注释时遇到问题。
Console给出了以下错误:
Error: [$compile:tplrt] http://errors.angularjs.org/1.3.15/$compile/tplrt?p0=deviceItem&p1=deviceItem.html
at Error (native)
at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js:6:417
at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js:65:275
at https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js:112:113
所以不要在AngularJS指令的第一行使用注释来避免这个问题。
有人知道为什么或只是一个错误吗?
答案 0 :(得分:2)
该链接解释了为什么这是一个错误:
当使用template(或templateUrl)声明指令并替换mode on时,模板必须只有一个根元素。
注释和文本节点仍然是元素,即使它们不是标记。因此,您无法做到这一点:
<!-- comment node -->
non-comment node
Angular仍然可以使用注释的指令。
您可以不将replace
用作指令定义的一部分,也可以只在根标记内移动注释。我不认为这太糟糕了:
<div>
<!-- directive comments -->
other things
</div>