Ich bin ein Starter in Angularjs und lerne es jetzt. Ich habe eine Webanwendung, wo ich ein Passwort zu einer Liste hinzufügen möchte. Die Daten stammen aus einer Datenbank. Zu Beginn des Projekts habe ich die Daten in einer JSON-Datei und nicht auf der Datenbank. Nachdem ich gecheckt habe (Daten in der Datenbank) habe ich den folgenden Fehler bekommen.Push ist keine Funktion Angularjs Fehler
Ich habe den folgenden Code:
$scope.savePassword = function() {
if ($scope.currentPassword.Id == null) {
$scope.passwords.push($scope.currentPassword);
$scope.isShownEdit = false;
} else {
var index = $scope.passwords.findIndex(function (item) {
return item.Id == $scope.currentPassword.Id;
});
$scope.passwords[index] = $scope.currentPassword;
$scope.isShownEdit = false;
}
}
Hier i die Daten einsehen, die gespeichert werden sollen.
<div>
<!-- Name des Passwortes -->
<div class="cClearFloat cInputSpace">
<input placeholder="Name" maxlength="12" ng-model="currentPassword.Name">
</div>
<!-- Passwort des Passwortes -->
<div class="cClearFloat cInputSpace">
<input placeholder="Passwort" maxlength="12" ng-model="currentPassword.Passwort">
</div>
<!-- Beschreibung des Passwortes -->
<div class="cClearFloat cInputSpace">
<input placeholder="Beschreibung" maxlength="25" ng-model="currentPassword.Beschreibung">
</div>
<!-- Liste mit den kategorien -->
<div class="cClearFloat cInputSpace">
<div class="divSmall">
<label class="inputDropdownPlaceholder">Kategorien</label>
<div class="divOptions" ng-repeat="item in categories.Items">
<label class="labelDropDown"><input type="checkbox" class="inputDropDown" ng-model="item.isChecked" ng-checked="checkedCategory(item)" ng-init="item.isChecked = checkedCategory(item)" ng-change="changedCategory(item)">{{item.Name}}</label><br>
</div>
</div>
<div class="cClearFloat cButtons">
<button class="cButtonSpeichern" ng-click="showAlertPassword()">Speichern</button>
<button class="cButtonAbbrechen" ng-click="isShownEdit = false">Abbrechen</button>
</div>
</div>
</div>
überprüfen, ob alle Felder eine Eingabe bekam
$scope.showAlertPassword = function() {
if ($scope.currentPassword.Name && $scope.currentPassword.Passwort && $scope.currentPassword.Beschreibung && $scope.currentPassword.Category.length) {
$scope.savePassword();
} else {
alert("Bitte füllen Sie alle Felder korrekt aus!", "Fehler");
}
}
ich die Daten aus der Datenbank wie folgt implementieren:
$scope.passwords = hateoasService.call('http://localhost:20670/passwords');
Wenn ich die Anwendung zu starten und die Daten hinzufügen wollen mit Beim "Speichern" klicke ich auf den Fehler.
Ich weiß nicht, warum ich diese Fehlermeldung erhalten, kann mir jemand helfen?
ich es geändert, aber der Fehler ist die gleich. Diesen Fehler habe ich, weil ich etwas verändert habe und vergessen habe, es zu schreiben;). – NiZelooer
nehmen Sie '$ scope.currentPassword = {}' beim Starten des Controllers – Sravan
Ich habe modifiziert, aber der Fehler ist der gleiche. – NiZelooer