Questo è un problema strano in Angular:
<input #pin1 type="password">
<p>You entered: {{pin1.value}}</p>
Se scrivi qualcosa in <input>
, il contenuto di <p>
non cambierà, il che significa che pin1.value
non ha valore, vuol dire che la variabile di riferimento #pin1
non funziona?
D'altra parte, se aggiungiamo una funzione per passare il riferimento, funzionerà.
<input #pin2 type="password" (input)="test(pin2)">
<p>You entered: {{pin2.value}}</p>
dove test=function(x){console.log(x);}
Per questo <input>
, se scriviamo qualcosa, il contenuto di <p>
cambierà in testo corrispondente che implica #pin2
funziona.
Quindi non capisco perché dobbiamo farlo? perché dobbiamo usare la funzione per passare il riferimento variabile in primo luogo, quindi possiamo usarlo? Perché non possiamo semplicemente dichiarare una variabile di riferimento e quindi utilizzarla direttamente nell'espressione o nell'interpolazione del modello?