Angular JS로 앱을 제작 중이며 나중에 localStorage에 특정 데이터를 저장하여 나중에 가져 오려고합니다. 문제는 코드를 작성하는 데 문제가 있다는 것입니다. 귀하가 버튼을 클릭 할 때 이벤트에 보조자를 추가하려고하지만 Inspector는 항상이 오류를 표시합니다. SyntaxError : JSON의 예상치 못한 토큰 u가 0 위치에 있습니다. , Object.parse (기본).Angular JS의 LocalStorageModule을 사용하여 데이터 저장
저는 app.js와 분리 된 controller.js를 가지고 있습니다. 그런 다음 컨트롤러를 app.module에 삽입했습니다.
나를 도울 수 있다면 좋을 것입니다. 미리 감사드립니다.
'use strict';
/* Controllers */
angular.module('Erasmore.controllers', [])
.controller('Posts', ['$scope', '$http',
function($scope, $http, localStorageService) {
$http.get("json/posts.json").success(function(data) {
$scope.posts = data;
});
$scope.assistants = [{
id: 1,
name: "James Smith",
nationality: "English"
}, {
id: 3,
name: "Juan García",
nationality: "Spanish"
}, {
id: 3,
name: "Eduardo Cruz",
nationality: "Spanish"
}, {
id: 4,
name: "Jurgen Low",
nationality: "German"
}, ];
var newParticipant = localStorage['assistantList'];
if (newParticipant !== undefined) {
$scope.newAssistant = JSON.parse(newParticipant);
}
$scope.newAssistant = {};
$scope.addAssistant = function() {
$scope.assistants.push($scope.newAssistant);
$scope.newAssistant = "";
localStorage['assistantList'] = JSON.stringify($scope.newAssistant);
console.log(localStorage);
};
}
])
<div>
<p>Are you coming?</p>
<input placeholder="Enter your name" id="name" type="text" class="validate" ng-model="newAssistant.name">
<input placeholder="Enter your nationality" id="nationality" type="text" class="validate" ng-model="newAssistant.nationality">
<button class="waves-effect waves-light btn" ng-click="addAssistant()">Confirm</button>
<button class="waves-effect waves-teal btn-flat modal-trigger">See Assistants</button>
<ul>
<li id="asistentes" ng-repeat="assistant in assistants">{{assistant.name}} <span>-</span> {{assistant.nationality}}</li>
</ul>
''localStorageService''는 컨트롤러에 다음과 같이 추가하면됩니다. '.controller ('Posts', [ '$ scope', '$ http', 'localStorageService', function ($ scope, $ http, localStorageService) {' –
그래, 나중에 깨달았지만 여전히 작동하지 않습니다. ... –