我有以下Angular2 TypeScript代码,其中一节按照Javascript惯例注释掉:
@Component({
selector: 'my-app',
template:
`<h1>{{title}}</h1>
<h2>{{lene.name}}</h2>
<div><label>id: </label>{{lene.id}}</div>
/*<div>
<label>name: </label>
<input [(ngModel)]="lene.name" placeholder="name">
</div>*/`
<div><label>description: </label>{{lene.description}}</div>
})
但是,一旦TypeScript编译为Javascript,我就会得到以下输出到我的Web浏览器:
我搜索过API文档,找不到指定此基本功能语法的条目。有人知道你如何在TypeScript中进行多行注释吗?
答案 0 :(得分:17)
/* */
是打字稿评论分隔符
他们不在字符串文字中工作。
您可以使用HTML注释语法<!-- -->
。
@Component({
selector: 'my-app',
template:
`<h1>{{title}}</h1>
<h2>{{lene.name}}</h2>
<div><label>id: </label>{{lene.id}}</div>
<!-- <div>
<label>name: </label>
<input [(ngModel)]="lene.name" placeholder="name">
</div> -->'
<div><label>description: </label>{{lene.description}}</div>
})
以这种方式注释掉的HTML仍然被添加到DOM中,但仅作为注释。
答案 1 :(得分:3)
如果您在模板中,请使用HTML评论<!-- ... -->
:
@Component({
selector: 'my-app',
template: `
<h1>{{title}}</h1>
<h2>{{lene.name}}</h2>
<div><label>id: </label>{{lene.id}}</div>
<!-- div>
<label>name: </label>
<input [(ngModel)]="lene.name" placeholder="name">
</div-->
<div><label>description: </label>{{lene.description}}</div>
`
})
答案 2 :(得分:0)
不过似乎不起作用,因为它仅隐藏HTML,同时仍试图在带注释的部分中执行打字稿代码。