2017-07-06 4 views
0

Ich habe folgende Vorlage. Wie kann ich auf alle Elemente innerhalb der Vorlage zugreifen? Ich habe versucht, ViewChildren aber es gibt Bezugnahme auf nur ein Element unter Verwendung von (I guess, weil keine zwei Elemente sind die gleichen, und ich bin nicht mit derselben Richtlinie/Komponente in der Vorlage)Iterate über alle Elemente in der Vorlage in Angular2

template: ` 

<div>Name: <input type="text" name="name" /> </div> 
<div>Gender: <select name="gender" > 
    <option>Male(1)</option> 
    <option>Female(2)</option> 
    </select> 
</div> 
<div>About you: <textarea ></textarea></div> 
<div>Married: <input type="checkbox" /></div>  
    <div> 
    Children:  
    <ng-container *ngFor = "let option of this.selectOptions"> 
    <input type="radio" [id]="option" name="children" [value]=option [(ngModel)]="this.children"/> {{option}} 
    </ng-container> 
    </div> 
    <p > Some para</p> 
    <p >Para with span <span>Inside span</span></p> 

` 

Frage 1- Wie kann ich eine Sammlung aller Elemente in der Vorlage erhalten?

Frage 2 - Was wäre der Weg, zwischen den Elementen zu unterscheiden. Ich denke, alle Elemente würden vom Typ ElementRef sein.

+0

Es kann eine mehr Angular-ish Weg sein, um Ihr Ziel zu erreichen. Was möchten Sie tun, dass Sie die Sammlung aller Elemente in der Vorlage benötigen? – DeborahK

+0

Sie können nur injizieren 'ElementRef: ElementRef' – Skeptor

+0

In diesem Moment nur Angular lernen. Ich habe Code geschrieben und festgestellt, dass ich nicht weiß, wie ich auf alle Elemente zugreifen kann. Ich kann natürlich Template Ref Variable verwenden, aber dann muss ich es für alle einzelnen Elemente tun. –

Antwort