【问题标题】:How do I save this angularJS to HTML5 localStorage如何将此 angularJS 保存到 HTML5 localStorage
【发布时间】:2016-06-05 20:50:01
【问题描述】:

随时告诉我离开(我是 Angular 和 javascript 的新手),但我该如何开始将这个 angularJS 保存到 localStorage?通过在 add() 中创建一个保存函数可以相对轻松地完成一些事情吗?我已经看到 Angular 有自己的本地存储,但是没有它可以做到吗?笔:http://codepen.io/kiddigit/pen/LZVXMV

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 = {};
    };
});

【问题讨论】:

  • 您的问题是什么?您想在 LocalStorage 中保存什么(“this AngularJS”没有意义。AngularJS 是一个框架。您可以在 LocalStorage 中存储的是字符串。对象可以使用 JSON 轻松转换为字符串)。不,Angular 没有“自己的 LocalStorage”。
  • 我猜这句话有误会。 Angular 有一个 localStorage 的包装模块。但正如@JB Nizet 所说,它没有自己的localStorage
  • 感谢您说清楚。我是一个 obv 还是有点迷茫。

标签: angularjs local-storage


【解决方案1】:

浏览器(窗口对象)有一个名为localStorage 的对象,就这么简单。如果要将对象保存到本地存储,最好先使用json 对其进行字符串化。

示例:

// 在你的控制器内部:

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

【讨论】:

  • javascript 语言没有对象localStorage。它是一个浏览器窗口属性。在 node.js 或其他没有 window 对象的 js 环境中尝试,会抛出错误
  • @AranS 这就是我所要做的?这样会保存新添加的条目吗?
  • 对于这个域是的,只要你不清除浏览器的缓存。哦,它的容量是有限制的。在此处了解更多信息:w3schools.com/html/html5_webstorage.asp
  • 我必须得应付一下,看看我能不能让它工作。感谢您的链接。
猜你喜欢
  • 2022-06-13
  • 1970-01-01
  • 2017-11-03
  • 2022-01-22
  • 2017-11-16
  • 2016-07-22
  • 2013-12-28
  • 2013-11-25
相关资源
最近更新 更多