在控制器之间保持和共享大量数据的最佳方法

时间:2015-09-08 11:48:03

标签: angularjs

App I&#m; m building很复杂,数据量很大。这是一个订单管理调度应用程序。

一开始我要做的第一件事就是从API获取所有订单,所有商店和所有快递员。

在订单的生命周期中,我从API接收了几个更新,并通过服务器发送事件处理所有内容。

加载数据后,我将所有内容放在3个不同的$scope$scope.orders$scope.stores$scope.couriers中,我创建了一个服务来处理和共享更新的数据控制器。

其中一项服务如下:

App.factory('Orders', ['logs', function (logs) {

    var orders = {};
    var newOrder = null;
    var updatedOrder = null;

    orders.list = [];

    orders.getNewOrder = function () {
        return newOrder;
    };

    orders.setNewOrder = function (order) {
        newOrder = order;
    };

    orders.updateOneOrder = function (index, order) {
        orders.list[index] = order;
        updatedOrder = order;
    };

    orders.getUpdatedOrder = function () {
        return updatedOrder;
    };

    orders.getAllOrders = function () {
        return orders.list;
    };

    return orders;

}]);

$watch用于查看更改并更新相对$scope的方法。

正如您在我的服务中所看到的,我有一个存储数据的数组,以便能够处理它,因为我无法在工厂中使用$scope

我在网上关于此事的指南。我知道还有广播和发射,但可能用这种方法处理所有这些事情太复杂了。

我避免的另一件事是将订单,商店和快递存储在$rootScope

我认为应用程序有点慢并且使用大量内存来处理所有内容所以我希望知道最佳实践来处理需要在控制器之间共享并实时更新的大量数据......

我认为我的方法目前使用的内存过多。

0 个答案:

没有答案