私はAngularJsをテストするために偽のAppを作成します。私はngStorageでLocalStorageを使用します。 私の問題は、配列にデータを持つオブジェクトを置くことができないことです。 私がしようとすると、私は理解していないエラーメッセージがあります。ここに私のコードオブジェクトを配列に挿入する
"Error: vendeursList.push is not a function [etc...]"
を:
HTML:
<div ng-controller='vendeursController'>
<h2 class='test'>Vendeurs.</h2>
<table>
<thead>
<tr><th colspan="4">Liste des vendeurs</th></tr>
</thead>
<tbody>
<tr ng-repeat="vendeur in objVendeur">
<td>{{$index + 1}}</td>
<td>
{{vendeur.Vendeur.nom}} {{vendeur.Vendeur.prenom}}
</td>
<td>{{vendeur.mail}}</td>
<td>{{vendeur.adresse}}</td>
</tr>
</tbody>
</table>
<form class='simple-form'>
<br>
<input type="text" ng-model="vendeur.Vendeur.nom" name="nom" value="Nom" required><br>
<br>
<input type="text" ng-model="vendeur.Vendeur.prenom" name="prenom" value="Prenom" required><br><br>
<br>
<input type="text" ng-model="vendeur.mail" name="mail" value="Mail" required><br><br>
<br>
<input type="text" ng-model="vendeur.adresse" name="adresse" value="Adresse" required><br><br>
<input ng-click="saveData()" type="submit" value="Submit">
</form>
<pre>nom = "{{vendeur | json}}"</pre>
JSを:
(function() {
'use strict';
angular.module('app.vendeurController', ["ngStorage"]).
controller('vendeursController', function($scope, $http, $localStorage){
$scope.vendeur = {};
var vendeursList = [];
$scope.saveData = function() {
vendeursList = $localStorage.objVendeur;
var nVendeur = angular.copy($scope.vendeur);
vendeursList.push(nVendeur);
$localStorage.objVendeur = vendeursList;
}
});
})();
ありがとう!
この行をデバッグします: 'vendeursList = $ localStorage.objVendeur;'。 '$ localStorage.objVendeur'が、配列でないもの、または関数' push'を持たないものを返す可能性は非常に高いです。 – lealceldeiro
新しい仕事のために、私は角度v1を使用する必要があります。 ええ、私は問題が$ localStorageから来ると思います。私が "vendeursList = $ localStorage.objVendeur;"とコメントするとと "$ localStorage.objVendeur = vendeursList;"と入力します。これ以上のエラーはありません。 –