[[object]] in input text angularjs
<form class="form-horizontal" role="form" name="addCreditoBuscar" id="addCreditoBuscar" ng-controller="AddCreditoAppController">
<div class="form-group">
<label class="col-sm-2 col-sm-2 control-label">Buscar</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="buscar" ng-model="addCreditoBuscar.buscar" ng-required="true" placeholder="Buscar por cedula, nombre o apellido">
<span class="help-block" ng-show="addCreditoBuscar.buscar.$error.required">Este campo es requerido es requerido.</span>
</div>
</div>
</form>
Dies ist mein code für eine Eingabe von text, aber das Ergebnis ist dies ein - http://prntscr.com/73otmc
- Sie erhalten diese als
addCreditoBuscar.buscar
ist ein Objekt. - mögliche Duplikate von Zugang / Verfahren (nested) Objekte, arrays oder JSON
- setzen Sie diese neben den Eingang und sehen genau, was Objekt sieht aus wie in der Ansicht
<pre>{{addCreditoBuscar.buscar | json}}</pre>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist die Lösung einfach. Sie sind mit der gleichen "form-name" ist als das Objekt, das Sie setzen wollen. Ändern Sie den "Formular-name" zu einem anderen, wie z.B. name="formAddCreditoBuscar"
Dann ist dein problem würde verschwinden
Ihre input-element ist die Nötigung der Wert, den Sie zur Verfügung gestellt, um eine Zeichenfolge. Ihr Wert ist ein Objekt, es ist also die Nötigung, es zu den string-Wert des Objekts (
[[object Object]]
).Um dies zu beheben, benötigen Sie Zugriff auf ein Eigenschaft des Objekts.
ng-model="addCreditoBuscar.buscar"
ist ein Objekt, daher wird es zeigen sich als[[object Object]]
, als so etwas wieObject.prototype.toString()
ist handeln auf das Objekt, um zu zwingen es in einen string-Wert in Ihreminput
element.Beispiel:
Oben zeigt, string Zwang von einem Objekt.
Wenn Sie möchten, um zu zeigen, eine Eigenschaft, die das Objekt, verwenden Sie einfach die Objekt-Attribut-accessor (der Punkt
.
):Daher, wenn Sie Ihre
input
element zwingt die-Eigenschaft auf einen Wert, wenn der Wert eine Zeichenfolge ist, wird es zeigen sich als ein string (was ist Ihre beabsichtigte Ausgabe):Könnten Sie löschen den angezeigten Wert durch explizites ändern der HTMLElement.value-Eigenschaft bei jeder änderung des Modells Wert. Sie können erstellen Sie eine Richtlinie, damit umzugehen.
verwenden Sie es durch übergeben ein Feld für die Anzeige in der Richtlinie
E. g. zum speichern in
$scope.user
ein Objekt wie{name:"John","email":"[email protected]"}
ist, verwenden Sie es so :