我有两个视图,我使用路由来访问它们。我的主视图是使用ListController
的列表。
该控制器执行了$http
请求并获取了一些数据并在success
上执行:$scope.data = response.data;
当我点击列表项时,我的路线转到#/view/:id
我可以在我的其他控制器中使用id
获取routeParams
:DetailController
由于$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);
}
);
答案 0 :(得分:2)
您不应使用范围在控制器之间共享数据。请改用服务。 观看这部短片:http://egghead.io/video/angularjs-sharing-data-between-controllers/
希望它有所帮助。