2016-07-29 76 views
0

我有对象在Dashboard页面,当点击Details页面从仪表板应该重定向到Details页面,我想通过JSON对象从Dashboard ControllerDetails Controller,请问有没有办法用Angular JS Service或factory将JSON数据从控制器传递到另一个未使用服务或工厂角JS的控制器

myApp.controller('dashBoardController', ['$scope', function($scope) { 

    $scope.detailsPage = function(Object){ 


    // I want this object available in details page controller 

     $location.path('/detailsPage'); 
}; 

}]); 

myApp.controller('detailsOageController', ['$scope', function($scope) { 
    // need Object data here 
}]); 
+2

所以,推荐的方式是使用服务。了解为什么你不想遵循框架的首选方法会帮助人们回答你。 – Paul

+0

服务将是迄今为止最优雅的方式!另一种方法是通过使用pub/sub设计模式从dashboardController发送消息并在detailsOageController中侦听它,它可以工作,但它不是很好,但:-) –

+0

您可以使用$ rootScope,但这是一个非常糟糕的从长远来看,这可能会让你付出代价。服务应该是最好的方式 – doge1ord

回答

1

您可以通过以下方法实现从一个控制器到另一个控制器的数据共享。

  1. 使用服务/工厂(主要是首选)
  2. 使用Rootscope和值将在全球范围内(不advicable)
  3. 的Emit &广播

https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope

相关问题