2017-06-28 3 views
0

Ich habe ein Auswahlelement wie folgt definiert:Winkel 2 Auswahlelement Trigger Onchange

<form #empForm="ngForm" novalidate> 
    <div> 
     <label>Role</label> 
     <select name="role" [(ngModel)]="user" (ngModelChange)="get1($event)" (change)="get($event)"> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
    </select> 
    </div> 
</form> 

Und in dem .ts, Da die Auswahl HTML ist auf die Eigenschaft Benutzer begrenzt, es auf unterschiedliche Werte einstellen als programmatisch folgt nicht den ngModelChange oder Ereignis nicht ausgelöst ändern, die ich glaube nur auf Benutzereingriff

set(input: any) { 
    this.user = "3"; 
    } 

ich möchte diese Ereignisse ausgelöst werden, wenn das Modell programmatisch verändert basierend ausgelöst wird. Ist das möglich?

Danke, Ashley

+0

kann ich den Grund kennen, warum Sie diese Methoden aufrufen müssen, können Sie die Änderung in der Komponente erhalten, wenn der Benutzer entsprechend ändert und sich entsprechend verhält –

+0

gute Frage. Ich habe eine Anforderung, wobei, wenn die Seite zum ersten Mal geladen wird, ich einen Standardwert festlegen muss und basierend auf diesem Wert muss ich etwas Logik machen. Irgendwelche Ratschläge dazu? – ashley

+1

Also, wenn die Seite lädt zum ersten Mal onNgOnInit bedeutet, können Sie den Wert in der Komponente nehmen und dann davon Gebrauch machen, es wird einfacher, warum Dinge komplizieren –

Antwort

0

Versuchen Mehrwert-Attribute wie <option value="1">

0

Wenn die Seite geladen und Sie den Standardwert festgelegt, nehmen Sie es von dort und die Logik tun. Sie müssen es nicht über Ihr Element lesen, nachdem Sie es festgelegt haben.