LocalStorageModule в Angular JS для сохранения данных

0

Я создаю приложение с Angular JS, и я хочу, чтобы некоторые данные сохранялись в localStorage, чтобы получить его позже. Дело в том, что у меня возникают проблемы с кодом для этого. Я пытаюсь добавить больше помощников к событию, когда вы нажимаете кнопку, но инспектор всегда дает эту ошибку: SyntaxError: Неожиданный токен u в JSON в позиции 0 в Object.parse(native).

У меня есть controller.js, отделенный от app.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>
  • 0
    'localStorageService' просто добавьте в свой контроллер вот так; .controller('Posts', ['$scope', '$http', 'localStorageService', function($scope, $http, localStorageService) {
  • 0
    Да, я понял позже, но это все еще не работает ...
Теги:
local-storage
angular-local-storage

1 ответ

0

проблема в том, что вы не ввели localStorage service

.controller('Posts', ['$scope', '$http',
function($scope, $http, localStorageService) {

вы ввели только $ scope & $ http

  • 0
    Да, я ввел localStorageService, но тоже не работает. Консоль выдает мне ту же ошибку:
  • 0
    SyntaxError: Неожиданный токен u в JSON в позиции 0 в Object.parse (собственный)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню