Diciamo che ho un oggetto dattiloscritto di tipo Mailtype come segue:Angular2 usare [(ngModel)] con [ngModelOptions] = "{standalone: true}" per collegare ad un riferimento alla proprietà del modello
export class Mailtype {
constructor(
public name?: string,
public locale?: string,
public email?: string,
public properties? : Property[]
) { }
}
dove il suo campo "proprietà" è un array di tipo di immobile:
export class Property {
constructor(
public name?: string,
public type?: string,
public example?: string,
public required?: boolean,
public masked?: boolean
) { }
}
Ora nel mio componente ho un singolo oggetto Mailtype e l'HTML ha un elemento del modulo utilizzato per l'editing e l'aggiunta alla proprietà di matrice del Mailtype:
<form>
<tr *ngFor="let property of model.properties; let i=index">
<td>
<input type="text" [(ngModel)]="property.name" required>
</td>
</tr>
<button (click)="onAddProperty()">Add property</button>
</form>
componente:
export class MailtypeComponent {
model : Mailtype;
constructor() {
this.model = new Mailtype('','','',[]);
this.model.properties.push(new Property());
}
onAddProperty() {
this.model.properties.push(new Property());
}
}
mi chiedevo se io non sono autorizzato a utilizzare [(ngModel)] per creare un collegamento a un riferimento di "proprietà" per l'elemento di matrice nella matrice, in particolare allo stesso volta sto iterando la matrice? Perché getta il seguente errore per il codice di cui sopra:
ORIGINAL EXCEPTION: If ngModel is used within a form tag, either the name attribute must be set
or the form control must be defined as 'standalone' in ngModelOptions.
Example 1: <input [(ngModel)]="person.firstName" name="first">
Example 2: <input [(ngModel)]="person.firstName" [ngModelOptions]="{standalone: true}">
Quindi è suggerendo che uso sia [ngModelOptions]="{standalone: true}"
o aggiungere un campo di nome al codice HTML. E sembra che [ngModelOptions]="{standalone: true}"
lavori in questo caso. Perché in realtà standalone: true
significa che non riesco a trovare alcuna documentazione a riguardo?