angularjs - 如何在angularJs中存储一些数据以供以后使用?

标签 angularjs angularjs-factory

我有一个简单的查询。如何在 angularJs 中存储一些数据或值以供以后使用?让我说得更清楚一点:我想存储一个 Controller 中的值并在其他 Controller 中使用它?

最佳答案

您应该使用 angular.service 来实现此目的。请注意, angular.service 是单例的,可以注入(inject)到 Controller 中。一个展示基本功能的快速原型(prototype):

angular.module('myApp', []).factory('myService', function () {
    var o = {x:1, y:2};
    return {
        getO: getO,
        setO: setO
    };

    function getO() {
        return o;
    }
    function setO(x, y) {
        o.x = x;
        o.y = y;
    }
});

angular.module('myApp').controller('MyCtrlA', function ($scope, myService) {
    myService.setO(3, 4);
});

angular.module('myApp').controller('MyCtrlB', function ($scope, myService) {
    var o = myService.getO(); // {x:3, y:4}
});

关于angularjs - 如何在angularJs中存储一些数据以供以后使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27667016/

相关文章:

javascript - angular js $location.path 回调

javascript - 从 AngularJS 中 ngview 内的 View 更新主页

javascript - Angular : Scope issue in $http success callback

javascript - 迁移到 AngularJS 1.6.3 后无法从服务获取数据

javascript - 在 Angular UI 模态之间传递数据

angularjs - 如何在开始和结束时从 JSON 中删除括号?

javascript - 我如何在使用 ng-repeat 循环访问相同的 json 时按 json 的属性之一进行排序?

javascript - 绑定(bind)到 Controller 范围的工厂中的修改数据,它不会更新

javascript - 对 angularjs 中的所有函数使用 1 种方法缩短为一个函数

javascript - 如何将 Controller http 调用转换为接受参数的服务/工厂模式