2015-06-12 218 views
0

我試圖將一個控制器的值傳遞給另一個控制器。 示例:第1頁(控制器A)具有5個值列表。我點擊第三個值,因此我被引導到第2頁(控制器B)。在這裏,我需要根據我在頁面1中點擊的值獲取數據(控制器A)。將一個控制器的值傳遞給另一個控制器

例子:

page 1 list of students 
id name  
1 mark 
2 Dev 
3 Nancy 

page 2 details of student 
    name=mark 
    subject grade 
    English A 
    Spanish A- 

我使用的彈簧冬眠從數據庫中獲取數據。

+2

通過服務進行通信的數據,並注入在兩個控制器上的服務 – devqon

+0

見http://www.theroks.com/angularjs-communication-controllers/和http://jsfiddle.net/simpulton/xqdxg/ – Navaneet

+0

可能重複的http://stackoverflow.com/questions/20181323/passing-data-between-controllers-in-angular-js –

回答

3

您可以創建一個服務來存儲這個對象

angular.module('app').factory('StoreService', function() { 
     var storedObject; 
     return { 
      set: function (o) { 
       this.storedObject = o; 
      }, 
      get: function() { 
       return this.storedObject; 
      } 
     }; 
}); 

,然後在兩個控制器注入它。

angular.module('app').controller('FirstController', function ($scope, StoreService) { 
    $scope.setValue = function (value) { 
     StoreService.set(value); 
    }; 
}); 

angular.module('app').controller('SecondController', function ($scope, StoreService) { 
    $scope.getValue = function() { 
     $scope.value = StoreService.get(); 
    }; 
}); 
+0

你能告訴我如何將它注入控制器。 – flyingkandi

+0

@flyingkandi我用這個信息更新了我的回答 – kTT

+0

謝謝@kTT。 該值從'firstController'傳遞給storeObject.set(o =「abc」)。 但之後我重定向到page2.jsp。那時o(o =「abc」)中的值不再存在於o中。 你可以看看這個 – flyingkandi

相關問題