在Angular2 TypeScript中注释(out)代码

时间:2016-04-04 07:26:33

标签: javascript angularjs angular comments

我有以下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浏览器:

Browser image

我搜索过API文档,找不到指定此基本功能语法的条目。有人知道你如何在TypeScript中进行多行注释吗?

3 个答案:

答案 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,同时仍试图在带注释的部分中执行打字稿代码。