1

我有两个视图,我使用路由来访问它们。我的主要观点是一个使用ListController.

该控制器发出$http请求并取回一些数据,然后success我就这样做了:$scope.data = response.data;

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

我可以在我的其他控制器中id使用:routeParamsDetailController

既然$scope.data是 的一部分,ListController我如何访问说$scope.data在我的DetailController

(或至少传递$scope.data[some Id]DetailController

编辑

app.factory('dataService', function(data)
{
  var data = data;
  return data;
});

答案是把它放在我的DetailController. response.data我仍然可以使用

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

1 回答 1

2

您不应使用范围在控制器之间共享数据。改用服务。观看这部短片:http ://egghead.io/video/angularjs-sharing-data-between-controllers/

希望能帮助到你。

于 2013-04-01T22:38:08.030 回答