我发现在HTML <!-- My comment -->
上注释代码的方式有点太长了,在其他语言中你可以用2来做同样的7个字符。
我是AngularJS的新手并且在阅读一些文章&#34;教授HTML新技巧&#34; 时看到了这个问题,是否有可能编写一个指令来缩短在HTML中发表评论的方式?
可能是这样的:
<c My comment>
我知道评论的格式有违反某些规则,或者没有IDE快捷方式,但我仍然要问,看看如何做这样的事情(并学习新的技巧)或者知道为什么它是不可能的。
更新1 :感谢@denisazevedo和@Todd在答案中提出的想法,我找到了一种让它如前所述工作的方法,这里是fiddle。现在,你能看到一些我在这次简短测试中找不到的问题吗? (问另一个问题会更好吗?)
更新2 :普通小提琴无法正常工作,如果评论以c
结尾,则不包含该字母(>
未显示在输出或),并在IE上向后显示注释。
答案 0 :(得分:1)
我的建议:尝试使用新的文字编辑器。
你在用什么?记事本?
我更喜欢崇高的文字,但还有其他免费文字编辑器,它们通常都使用 CTRL
+ /
。甚至codepen.io实现了这一点。只是突出显示和热键!
现在支持多个评论属性
现在将属性作为连字符分隔&#34;语句属性&#34;,用空格替换连字符,并插入包含每个&#34;语句属性&#34;的格式化文本的注释。
codepen:http://codepen.io/presstep/pen/0a1b5a595e8dd3db7e74b84a1dbc1c72
// js
myapp = angular.module("myapp", []);
myapp.directive('c', function() {
var directive = {
restrict: 'E',
compile: function(element) {
var comments = [],
attrs = element[0].attributes;
for (var i = 0, j = attrs.length; i < j; i++) {
var f = element[0].attributes[i].name.replace('-', ' ');
comments.push(document.createComment(f));
}
element.replaceWith(comments);
}
};
return directive;
});
然后......
<!-- Original HTML -->
<div ng-app='myapp'>
<c this-is-a-comment-element and-so-is-this>
</div>
并且神奇地呈现了这个:
<div ng-app='myapp'>
<!-- this is a comment element -->
<!-- and so is this -->
</div>
答案 1 :(得分:1)
那么,
我会使用一个好的编辑器的功能,但如果你真的想要一个指令,我想到的最好的是:
.directive('c', function() {
return {
restrict: 'E',
scope: {
text: '@t'
},
template: '<!-- {{text}} -->'
};
});
以及如何使用它:
<c t="My comment">
以下是fiddle