ng-Inhalte wählen Sie variable gebunden

Ich versuche, erstellen Sie ein Formular-generator mit Winkel-2. Ein sehr einfaches Beispiel ist wie folgt:

this.fields = [{name: 'Name', type: 'text'}, {name: 'Age', type: 'number'}];

Aber ich möchte auch Unterstützung für benutzerdefinierte Elemente, wie:

this.fields = [
  {name: 'Name', type: text}, 
  {name: 'Age', type: 'custom', customid: 'Ctl1'},
  {name: 'Whatever', type: 'custom', customid: 'Ctl2'}
];
//template:
<super-form [fields]="fields">
  <Ctl1><input type="number" ...><Ctl1>
  <Ctl2><whaterver-control ...><Ctl2>
</super-form>

In meinen Formular-generator-Komponente habe ich dann so etwas wie:

<div *ngFor="let f of fields">
  <div [ngSwitch]="f.type">
    <span *ngSwitchWhen="'custom'">          
      <ng-content select="f.customid"></ng-content>
    </span>
  </div>
</div>

Aber da bin ich hier offensichtlich nicht funktioniert. Ist das ein ng2 Einschränkung? Wenn dem so ist, ich denke, ich könnte hart code sagen 5 optionale content-Elemente und überprüfen Sie, ob Sie angegeben werden müssen und nicht dynamisch wählt, sondern das ist ein hack.

Cheers

InformationsquelleAutor gatapia | 2016-05-14
Schreibe einen Kommentar