我想在ng-repeat块中添加带有插值表达式的HTML注释。但是,当我尝试这样做时,表达式不是插值的。例如:
<tr ng-repeat="item in items"
<!-- ID that I don't want the user to see, but want for debugging = {{item.id}} -->
<td>{{item.prettyName}}</td>
<td>{{item.someProperty}}</td>
<td>{{item.someOtherProperty}}</td>
</tr>
当我查看DOM(即Chrom DevTools中的Elements选项卡)时,我只看到未插入的字符串(&#34; {{item.id}}&#34;)而不是插值。
这里的语法是什么?
答案 0 :(得分:8)
这样做有点矫枉过正,因为您可以使用display: none
或类似评论中的建议,但这只是一个有趣的练习:
在注释上调用指令的语法是:
<!-- directive: foo expression -->
我希望像ng-bind
这样的内容支持评论,但它并没有。但你可以轻松创建自己的:
app.directive('comment', function($interpolate) {
return {
restrict: 'M',
scope: true,
link: function(scope, element, attrs) {
var comment = $interpolate(attrs.comment)(scope);
element.replaceWith("<!-- " + comment + "-->" );
}
};
});
用法是:
<!-- directive: comment "something something {{item.id}}" -->