如何在多个控制器中过滤和同步对象数组

How do I filter and sync an object array accross multiple controllers

本文关键字:过滤 同步 对象 数组 控制器      更新时间:2023-09-26

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

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

我有三个控制器:

  1. 保存我的过滤器(滑块,复选框等)
  2. 保存我的项目列表
  3. 保存一个google地图,显示所有返回结果的标记。

我试图过滤控制器1中的数组,并为控制器2和3更新此数组。所以理想情况下,所有三个控制器都在观察并使用相同的数组。

谁能帮帮忙,这可能吗?

将数组存储在$rootScope中这是一个全局作用域,可以从所有其他控制器访问。

angular.module('App').controller('OneController', [
    '$scope', '$rootScope',  function($scope, $rootScope) {
    $scope.propertiesForThisScope = 123;
    $rootScope.theArray = [];
}]);