2016-09-19 5 views
4

Ich versuche, den Radio-Button Wert zu lesen - in Winkel 2,Leseoptionsfeld Wert - Angular 2

index.html

<input type="radio" id="options1" name="function" value="create"> 
<input type="radio" id="options2" name="function" value="continue"> 

index.ts

@Component({ 
    selector: 'function', 
    templateUrl: './client/components/function/index.html', 
    styleUrls: ['./client/components/function/index.css'], 
    providers: [], 
    directives: [ROUTER_DIRECTIVES] 
}) 

I muss ein div in der html anzeigen, basierend darauf, ob der Optionsfeldwert create oder continue ist.

Was ich versucht habe:

  1. Werte von Radiobutton in der Typoskript Datei Fetching document.getElementById mit - Objekt checked wurde nicht erkannt zu werden.
  2. Lesen Sie den Wert mit model.function durch ein model im Typoskript definieren. Die Variable model kann natürlich nicht aufgerufen werden!
  3. Versucht mit [(ngModel)] - das hat auch nicht funktioniert.

Bitte schlagen Sie einen Turnaround dafür vor.

Antwort

4

Vorlage:

<input type="radio" id="options1" [(ngModel)]="myRadio" value="create"> 
<input type="radio" id="options2" [(ngModel)]="myRadio" value="continue"> 

dann eine myRadio Variable in Ihrer Komponente definieren und es wie folgt initialisieren: myRadio: string = ''

diese Variable den gewählten Wert.

und nicht verwenden Javascript DOM-Elemente in Angular2 zu steuern, ist dies gegen die angular2 Philosophie

+0

ich wie vorgeschlagen versucht, aber ich bin ein HTML-Fehler erhalten, der sagt 'nicht Eigenschaft‚Wert‘lesen von undefiniert. Schlage auch vor, wie ich das mit Angular 2 machen kann, wenn ich die DOM-Elemente nicht mit Javascript verändern sollte. –

+0

Sie müssen die Variable, die es ist, im Konstruktor Ihrer Komponente initialisieren: 'myRadio: string = ''' –

+0

(oder setzen Sie den Standardwert zB 'myRadio: string = 'create'') –