我想使用某種工廠方法在兩個控制器之間共享數據。控制器Ctrl1屬於發送HTTP請求的第一個DIV標記,並且以流方式接收來自服務器的數據。而在其他DIV標籤中,我想將結果顯示爲一個列表(ng-repeat),它隨着第一個DIV中的HTTP結果得到更新而不斷更新(第二個DIV標籤在第一個DIV標籤第一個時刻開始顯示結果反應,第一個DIV消失)。我知道如何在控制器之間傳遞一次數據(例如ng-click =「pass()」),但不知道如何實現這一點。我正在尋找一個不使用$ rootScope的答案。在不斷更新的兩個控制器之間共享數據
0
A
回答
0
您應該創建一個服務來包含數據,然後將服務注入到每個控制器中。
例如,讓我們有一個屬性「富」相當於一個字符串「酒吧」定義「爲myService」服務:
angular.module('myModule').service('myService', function() {
this.foo = 'bar';
});
我們現在可以在控制器使用像這樣:
angular.module('myModule').controller('MyCtrl', function($scope, myService) {
$scope.myService = myService;
});
現在可以像平常一樣在模板中使用{{myService.foo}}
或ng-model="myService.foo"
。
然後,您可以以類似的方式在第二個控制器中使用它,當更新任一控制器中的屬性'foo'時,更改將在控制器之間持續存在。這是因爲angular中的服務是單例。通過定義這樣的服務,你正在做的是創建一個單獨的'myService',它可以在任何你想要的地方注入,並且只會被實例化一次。
如果您需要監視控制器代碼中的更改,可以像往常一樣在myService.foo上使用$ scope。$ watch()。
相關問題
- 1. AngularJS兩個控制器之間的數據共享
- 2. 在不同頁面的控制器之間共享數據。角
- 3. 在兩個不同的ng-app控制器之間共享數據不能通過共享服務工作
- 4. 角JS廠在兩個控制器共享不更新值
- 5. 在兩個類之間共享數據
- 6. AngularJS:在3個控制器之間共享數據
- 7. 使用相同的控制器在兩個div之間共享數據
- 8. 如何在兩個控制器之間共享ajax返回的數據
- 9. 在angularjs中使用restangular在兩個控制器之間共享數據
- 10. Rails:控制器之間共享參數
- 11. 如何共享單個控制器動作之間的數據
- 12. SCNNode在兩個視圖控制器之間共享消失
- 13. AngularJS在控制器之間共享數據使用服務並觀看更新
- 14. iOS:在兩個視圖控制器之間共享數據時遇到問題
- 15. 兩個控制器之間的共享功能angularjs
- 16. Laravel在少數控制器之間共享數據
- 17. 從$ rootScope $ watch函數在控制器之間共享數據
- 18. 在AngularJS的控制器之間共享數據
- 19. 如何在AngularJS的控制器之間共享數據?
- 20. 在AngularJS和IONIC中的控制器之間共享數據
- 21. 控制器之間的共享模型
- 22. 控制器之間的共享方法
- 23. 角度,控制器之間共享數據並從一個控制器更新它
- 24. 使用承諾在控制器之間共享數據?
- 25. 無法在AngularJS控制器之間共享數據?
- 26. 如何在控制器之間共享數據?
- 27. 在控制器之間共享數據AngularJS
- 28. Angularjs - 在控制器之間共享數據
- 29. Symfony 2在控制器之間共享數據
- 30. 在webapi和控制器之間共享數據?
以及以下內容:https://www.google.com/search?q=sharing+data+angular&oq=angularjs+sharing+data&sourceid=chrome&ie=UTF-8#q=angularjs+sharing+data+ – Cherniv
我使用Google搜索它但我發現共享動態數據的答案使用了$ rootScope。如果可能的話,我正在尋找一種以不同方式進行處理的答案。謝謝。 – Sangram
爲什麼你不想使用$ rootScope在控制器之間共享數據? –