Javascript 在角度视图中处理两个视图之间的数据

Javascript 在角度视图中处理两个视图之间的数据,javascript,angularjs,routes,Javascript,Angularjs,Routes,我有两个视图,我使用路由访问它们。我的主视图是一个使用ListController的列表 该控制器执行一个$http请求并获取一些数据,然后在成功时执行:$scope.data=response.data 当我单击列表项时,我的路线将转到#/view/:id 我可以使用另一个控制器中的routeParams获取id:DetailController 由于$scope.data是ListController的一部分,如何访问我的DetailController中的$scope.data (或至少将

我有两个视图,我使用路由访问它们。我的主视图是一个使用
ListController
的列表

该控制器执行一个
$http
请求并获取一些数据,然后在
成功时执行:
$scope.data=response.data

当我单击列表项时,我的路线将转到
#/view/:id

我可以使用另一个控制器中的
routeParams
获取
id
DetailController

由于
$scope.data
ListController
的一部分,如何访问我的
DetailController
中的
$scope.data

(或至少将
$scope.data[某些Id]
传递给
DetailController

编辑

app.factory('dataService', function(data)
{
  var data = data;
  return data;
});
答案是将其放在我的
DetailController
中<代码>响应。我仍然可以使用数据

presentationService().then(
    function success(response)
    {
        log(response.data);
    },
    function error(response)
    {
        log(response);
    }
);

不应使用作用域在控制器之间共享数据。使用服务代替。 观看以下短片:


希望能有所帮助。

好的,我正在努力让它发挥作用。在我的http成功函数中,我正在执行
函数成功(response){dataService(response.data)}
并且我得到
dataService
是未定义的。我想我做错了。另外,我正在将
dataService
传递给我的
ListController
将您的$http任务移动到服务中。您将能够在服务中缓存数据。并且数据可以共享。我的http请求已经是一个服务了。让我们简化一下……这里有一个问题:发出$http请求的服务也应该在控制器之间共享数据。我明白你的意思,但我无法让它工作。我正在观看另一个youtube视频,内容是关于这项服务的工作原理
dataService
应该会让$httprequest@charlietfl查看我在Invi上的最后一条评论“这里有另一种不需要在controller@charlietfl中使用
then
的方法,我更喜欢这种方法,而不是我想出的方法。因为我在$scope.presentations变量上使用了ng repeat,所以没有填充列表。如何从列表控制器中判断请求何时完成?不必检查请求是否完成,scope对象上的侦听器将在数据更改时修改DOM。将响应推入空数组的循环是当前更改数据的原因。我正试图找到另一种方法,使用Promissions从$http更新服务中的数据。还没有找到解决办法