簡體   English   中英

Angular2組件模板在變量更改時更改

[英]Angular2 component template change on variable change

我想要一個組件,該組件完全通過component變量生成其模板數據。

import { Component} from '@angular/core';
import { DataService } from '../../services/data.service';

@Component({
  selector: 'app-slot',
  template: '{{component}}',
  styleUrls: ['./slot.component.css']
})
export class SlotComponent  {
  private component:string;
  constructor(
    public dataService : DataService
  ) {
    this.component = '<app-menu id="1"></app-menu>';
  }

}

如果變量更改,則應呈現其他組件。 如果以這種方式嘗試,我得到的是' <app-menu id="1"></app-menu> '作為字符串。 但是我希望以這種方式呈現組件:

import { Component} from '@angular/core';
import { DataService } from '../../services/data.service';

@Component({
  selector: 'app-slot',
  template: '<app-menu id="1"></app-menu>',
  styleUrls: ['./slot.component.css']
})
export class SlotComponent  {
  private component:string;
  constructor(
    public dataService : DataService
  ) {

  }

}

有沒有一種方法可以明智地將角度解析為HTML? 或另一種方式來做到這一點?

謝謝。

您可以在模板中使用ngIfs / switchCases根據條件放置組件,也可以使用動態組件加載器從ts文件加載組件。

例如。

<app-menu1 *ngIf="component === 'app-menu1'"></app-menu1>
<app-menu2 *ngIf="component === 'app-menu2'"></app-menu2>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM