2016-06-05 49 views
0

Fühlen Sie sich frei, mir zu sagen, wegzugehen (Ich bin ein Neuling zu eckigen und Javascript), aber wie würde ich beginnen, diese angularJS zu localStorage speichern? Ist es etwas, das relativ schmerzlos durch das Erstellen einer Speicherfunktion in der add() getan werden kann? Ich habe gesehen, dass eckig seinen eigenen lokalen Speicher hat, aber kann dies ohne das getan werden? Pen: http://codepen.io/kiddigit/pen/LZVXMVWie speichere ich angleJS in HTML5 localStorage

angular.module('app', []); 

angular.module('app').controller("MainController", function(){ 
    var vm = this; 
    vm.title = 'Movie Database'; 
    vm.searchInput = ''; 
    vm.shows = [ 
     { 
      title: 'Game of Thrones', 
      actor: 'Dudes', 
      year: 2011, 
      favorite: true 
     }, 
     { 
      title: 'Walking Dead', 
      actor: 'More dudes', 
      year: 2010, 
      favorite: false 
     }, 
     { 
      title: 'The Goonies', 
      actor: 'The Coreys', 
      year: 2002, 
      favorite: true 
     }, 
     { 
      title: 'Firefly', 
      actor: 'Dunno', 
      year: 2002, 
      favorite: false 
     }, 
     { 
      title: 'Bullit', 
      actor: 'McQueen', 
      year: 2013, 
      favorite: true 
     }, 
    ]; 
    vm.orders = [ 
     { 
      id: 1, 
      title: 'Year Ascending', 
      key: 'year', 
      reverse: false 
     }, 
     { 
      id: 2, 
      title: 'Year Descending', 
      key: 'year', 
      reverse: true 
     }, 
     { 
      id: 3, 
      title: 'Title Ascending', 
      key: 'title', 
      reverse: false 
     }, 
     { 
      id: 4, 
      title: 'Title Descending', 
      key: 'title', 
      reverse: true 
     } 
    ]; 
    vm.order = vm.orders[0]; 

    vm.new = {}; 
    vm.addShow = function() { 
     vm.shows.push(vm.new); 
     vm.new = {}; 
    }; 
}); 
+0

Was ist Ihre Frage? Was möchten Sie in LocalStorage speichern ("dieses AngularJS" macht keinen Sinn. AngularJS ist ein Framework. Was Sie in LocalStorage speichern können, ist eine Zeichenfolge. Und Objekte können einfach mit JSON in eine Zeichenfolge umgewandelt werden). Und nein, Angular hat keine "eigene LocalStorage". –

+0

Ich denke, es gibt ein Missverständnis mit diesem Satz. Angular hat ein Wrapper-Modul für 'localStorage'. aber wie @JB Nizet sagte, hat es keine eigene "localStorage". – AranS

+0

Danke, dass du das klar gemacht hast. Ich bin ein Obv noch ein wenig verloren. – NJeffries

Antwort

2

Der Browser (das Fenster-Objekt) ein Objekt localStorage, einfach so genannt. Wenn Sie ein Objekt auf dem lokalen Speicher speichern möchten, müssen Sie es zunächst mit json anordnen.

Beispiel:

// in Ihrem Controller:

function saveMovie() { 
    var selectedMovieString = json.stringify(this.selectedMovie); // for example; 
    localStorage.setItem("selectedMovie", selectedMovieString); 
} 
+0

Javascript Sprache hat kein Objekt 'localStorage'. Es ist eine Browserfenstereigenschaft. Versuchen Sie das in node.js oder einer anderen js-Umgebung, die kein window-Objekt hat und Fehler werfen wird – charlietfl

+0

Natürlich, mein Schlechter. – AranS

+0

@AranS Das ist alles was ich tun muss? Und das wird neu hinzugefügte Einträge speichern? – NJeffries

Verwandte Themen