Aurelia - Moduli
In questo capitolo imparerai come usare i form nel framework Aurelia.
L'immissione di testo
Per prima cosa, vedremo come inviare un file inputmodulo. La vista avrà due moduli di input per nome utente e password. Noi useremovalue.bind per l'associazione dei dati.
app.html
<template>
<form role = "form" submit.delegate = "signup()">
<label for = "email">Email</label>
<input type = "text" value.bind = "email" placeholder = "Email">
<label for = "password">Password</label>
<input type = "password" value.bind = "password" placeholder = "Password">
<button type = "submit">Signup</button>
</form>
</template>
La funzione di registrazione prenderà semplicemente i valori di nome utente e password dagli input e li registrerà nella console dello sviluppatore.
export class App {
email = '';
password = '';
signup() {
var myUser = { email: this.email, password: this.password }
console.log(myUser);
};
}
Casella di controllo
Il seguente esempio dimostrerà come inviare una casella di controllo con il framework Aurelia. Creeremo una casella di controllo e legheremo il filechecked valore al nostro modello di visualizzazione.
app.html
<template>
<form role = "form" submit.delegate = "submit()">
<label for = "checkbox">Checkbox</label>
<input type = "checkbox" id = "checkbox" checked.bind = "isChecked"><br/>
<button type = "submit">SUBMIT</button>
</form>
</template>
L'invio del modulo accederà semplicemente al file checked valore nella console.
app.js
export class App {
constructor() {
this.isChecked = false;
}
submit() {
console.log("isChecked: " + this.isChecked);
}
}
Tasti della radio
Il seguente esempio mostrerà come inviare radio buttons. La sintassirepeat.for = "option of options"si ripeterà attraverso una serie di oggetti e creerà un pulsante di opzione per ogni oggetto. Questo è un modo accurato per creare dinamicamente elementi nel framework Aurelia. Il riposo è lo stesso degli esempi precedenti. Stiamo vincolando ilmodel e il checked valori.
app.html
<template>
<form role = "form" submit.delegate = "submit()">
<label repeat.for = "option of options">
<input type = "radio" name = "myOptions"
model.bind = "option" checked.bind = "$parent.selectedOption"/>
${option.text}
</label>
<br/>
<button type = "submit">SUBMIT</button>
</form>
</template>
Nel nostro modello di visualizzazione, creeremo un array di oggetti this.optionse specifica che il primo pulsante di opzione è selezionato. Ancora una volta, ilSUBMIT Il pulsante accederà semplicemente alla console il cui pulsante di opzione è selezionato.
app.js
export class PeriodPanel {
options = [];
selectedOption = {};
constructor() {
this.options = [
{id:1, text:'First'},
{id:2, text:'Second'},
{id:3, text:'Third'}
];
this.selectedOption = this.options[0];
}
submit() {
console.log('checked: ' + this.selectedOption.id);
}
}
Se controlliamo il terzo pulsante di opzione e inviamo il nostro modulo, la console lo mostrerà.