如何在angular 2 / typescript中附加html内容

时间:2018-06-13 05:32:45

标签: angular typescript angular5 angular2-template

我想使用insertAdjacentHTML将HTML内容附加到div('单窗格')中,但没有任何反应。不知道我在这里缺少什么。

以下是我要添加的HTML内容---> 的 component.html



  <div #notification class="notification-top-bar" style="display: block;">
  </div>
&#13;
&#13;
&#13;

这是我附加的打字稿代码---&gt; 的 component.ts

&#13;
&#13;
export class SiteNotificationComponent implements OnInit {
  @ViewChildren('notification') private notificationsElements:  QueryList<ElementRef>;
  parentClass: any;

  constructor() {}
  ngOnInit() {} 
 
  ngAfterViewInit() {
    this.parentClass = document.getElementsByClassName('single-pane')[0];
    this.parentClass.insertAdjacentHTML('afterbegin', 'notificationsElements');
  }
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

如果您只有一个通知类型的元素,请使用ViewChild而不是ViewChildren。 并声明它的类型为ElementRef。

export class SiteNotificationComponent implements OnInit {
  @ViewChild('notification') el:ElementRef;
  parentClass: any;

  constructor() {}
  ngOnInit() {} 

  ngAfterViewInit() {
    this.parentClass = document.getElementsByClassName('single-pane')[0];
    this.parentClass.insertAdjacentHTML('afterbegin', this.notificationsElements.nativeElement.innerHTML);
  }
}