当前位置: 首页 > 面试题库 >

Angularjs数据存储最佳实践

艾和通
2023-03-14
问题内容

我的角度应用程序有2个控制器。我的问题是,当用户离开页面时,控制器不会保留数据。

如何将所选控制器上的选定数据存储到数据存储中,以便可以在其他控制器之间使用?


问题答案:

选项1-自定义 service

您可以利用专用的角度服务在控制器之间存储和共享数据(服务是单实例对象)

服务定义

 app.service('commonService', function ($http) {

        var info;

        return {
            getInfo: getInfo,
            setInfo: setInfo
        };

        // .................

        function getInfo() {
            return info;
        }

        function setInfo(value) {
            info = value;
        }
});

在多个控制器中的用法

app.controller("HomeController", function ($scope, commonService) {

    $scope.setInfo = function(value){
        commonService.setInfo(value);
    };

});


app.controller("MyController", function ($scope, commonService) {

    $scope.info = commonService.getInfo();

});

选项2-HTML5 localStorage

您可以使用内置的浏览器本地存储并从任何地方存储数据

写作

$window.localStorage['my-data'] = 'hello world';

var data = $window.localStorage['my-data']
// ...
  • 看看这个很棒的项目:https : //github.com/grevory/angular-local-storage

选项3-通过Web服务器API

如果需要在不同用户之间保留数据,则应将其保存在服务器端的某个位置(数据库/缓存)

function getProfile() {
    return $http.get(commonService.baseApi + '/api/profile/');
}

function updateProfile(data) {
    var json = angular.toJson(data);
    return $http.post(commonService.baseApi + '/api/profile/', json);
}


 类似资料:
  • 问题内容: 我正在开发一个J2ME应用程序,该应用程序具有要存储在设备上的大量数据(大约1MB,但是可变)。我不能依靠文件系统,所以我卡住了记录管理系统(RMS),该系统允许多个记录存储,但每个记录存储空间都有限。我最初的目标平台Blackberry将每个限制为64KB。 我想知道是否还有其他人必须解决在RMS中存储大量数据的问题,以及他们如何进行管理?我正在考虑必须计算记录大小并在多个存储区中拆

  • 问题内容: 我正在阅读 http://www.alexrothenberg.com/2013/02/11/the-magic-behind-angularjs- dependency-injection.html ,事实证明,如果您缩小JavaScript的大小,angularjs依赖项注入会出现问题,我想知道是否 你应该使用 总而言之,我认为第二个片段是针对angularjs的旧版本的,但是..

  • 问题内容: 我想知道是否存在某种“标准”用于在数据库中存储美国地址?看来这是一项常见的任务,应该有某种标准。 我正在寻找的是数据库表应如何工作和交互的 特定 模式,已经是第三种标准形式,包括数据类型(MySQL)。一个好的UML文档将起作用。 也许我只是在偷懒,但这是一个非常常见的任务,而且我确信有人发布了在某处进行此操作的有效方法。我只是不知道在哪里寻找,而Google并没有帮助。请指出我的资源

  • 问题内容: 在MySQL数据库中存储IP地址的最佳字段类型和长度是什么? IPv6呢? 问题答案: 将IP存储为,然后使用和功能存储/检索IP地址。 样例代码:

  • 问题内容: 在我国,在线支付并不是一件老事,去年我第一次看到一个网络应用程序直接向本地银行帐户进行支付。 因此,我是一个新手编码的网络支付系统。 我的问题是,将信用卡信息存储到数据库中的最佳实践是什么? 我有很多想法:加密信用卡,数据库安全性限制等。 你做了什么? 问题答案: 不要做 只是涉及太多的风险,通常需要对您进行外部审核,以确保您遵守所有相关的当地法律和安全规定。 有许多第三方公司为您执行

  • 问题内容: 我希望在学习快速的过程中开发一个库存/物品库存应用程序。它基本上是具有项目名称,数量和位置的东西。 例如。 25号工作货车灯泡 开关,6,仓库 当用户输入此数据并按下按钮时,什么是存储此数据并在以后检索的最佳方法。我知道我可以将此附加到数组并显示该数组,但是如果应用程序关闭,该怎么办? 我应该在学习数据库存储吗?我可以将数据保存到手机吗? 问题答案: 如果要存储的数据很少且不敏感,则可