2017-01-20 3 views
0

Ich habe anfängliche Objekt und Wert in Sicht nicht vom Controller.Angular Reset Initialization Wert, der nicht in der Steuerung ist

<input type="text" data-ng-show="false" data-ng-init="crud.data.userId=1" data-ng-model="crud.data.userId"> 

<input type="text" data-ng-show="false" data-ng-init="crud.data.userParentId=2" data-ng-model="crud.data.userParentId"> 

Und Rest Formelemente sind für Benutzer zur Eingabe sichtbar.

<input type="text" data-ng-model="crud.data.userFamilyName"> 
<input type="text" data-ng-model="crud.data.userSpouseName"> 

Ich möchte diese Formelemente zurückgesetzt werden, in dem ich nach der Einreichung Form nicht Anfangswert haben.

Ich weiß, es kann getan werden, indem es von Controller initialisiert wird, aber ich habe 100 Formulare.

Antwort

0

Die data-ng-init funktioniert, wenn die Ansicht geladen (nicht aus dem Cache wiederhergestellt) und richtet den Objektwert ein. Wenn Sie die data-ng-init erneut aufrufen möchten, müssen Sie sie nach der Formularübergabe neu laden. Sie können versuchen, den Cache falsch zu halten und die Ansicht zu aktualisieren. Dadurch bleiben alle Eingabefelder leer, wenn sie keinen Anfangswert haben. Und fülle den Wert, wenn sie haben.

Oder Sie können einfach die App neu laden (nicht empfohlen).

+0

Ich muss Formular in modal füllen. Wie in einem solchen Fall zu implementieren. –

+0

Sorry, ich habe dich nicht bekommen: \t ** Ich muss Formular in modal ** ausfüllen. Sie können einen Controller für ein Formular erstellen. Hier können Sie Ihre Formularfelder initialisieren. Und Sie können eine Submit-Funktion haben, die das Formular an den Server sendet, und nach dem Erfolg werden diese Bereichsvariablen wie rud.data.userId = 1 und andere auf null zurückgesetzt. Es wäre einfach und überschaubar. Mit der Init-Funktion mache ich niemals so komplizierte Ansichten. – Shubhranshu

+0

Ich dort irgendeine Option, in der ich Ansicht ohne Neuladen rendern kann. –

Verwandte Themen