Angular 2:是否可以绑定到'模板'?

时间:2016-03-09 07:06:27

标签: angular

  

是否可以在变量中加上一些标记,以便我可以传递它   进入儿童成分?例如,我有三个控件   只有错误信息不同。我想只有一个控件   并将错误html或整个错误组件作为参数传递。我可以   用文字做但不用html。这是想法的草图:

  @Component({
      selector: 'app',
      template: `
        <template #rr>
          <div>text</div>
        </template>

        {{rr}}
      `
     })
     export class App {
     }

预期产出:

 <div>text</div>

1 个答案:

答案 0 :(得分:3)

我正确理解您的问题(向其他组件提供一些内容),我认为您可以利用ng-content

@Component({
  selector: 'template',
  template: `
    <div>
      <ng-content></ng-content>
    </div>
  `
})
export class TemplateComponent {
  (...)
}

并使用App之一中的组件:

@Component({
  selector: 'app',
  template: `
    <template #rr>
      <div>text</div>
    </template>
  `,
  directives: [ TemplateComponent ]
})
export class App {
}

如果您想在TemplateComponent中引用ng-content中的内容,可以使用@ContentChild装饰器(请参阅https://angular.io/docs/ts/latest/api/core/ContentChild-var.html)。