如何跨多个控制器过滤和同步对象阵列

时间:2015-09-18 15:52:14

标签: javascript arrays angularjs

我目前正在开发一个角度应用程序,其中我有一个服务从$ http请求返回数据。

为了减少http请求,我每次搜索都会存储大量数据(100-300)。

我有三个控制器:

  1. 拥有我的过滤器(滑块,复选框等)
  2. 保存我的物品清单
  3. 持有一张谷歌地图,其中显示了所有返回结果的标记。
  4. 我试图在控制器1中过滤数组并更新控制器2和3的数据。理想情况下,所有三个控制器都在观察和使用相同的阵列。

    任何人都可以提供帮助,这是否可能?

1 个答案:

答案 0 :(得分:0)

将您的数组存储在$ rootScope中 这是一个可以从所有其他控制器访问的全局范围。

angular.module('App').controller('OneController', [
    '$scope', '$rootScope',  function($scope, $rootScope) {

    $scope.propertiesForThisScope = 123;
    $rootScope.theArray = [];
}]);