2017-05-03 82 views
-1

我是AngularJS的新手,我嘗試將對象從一個控制器推送到另一個控制器中的數組時遇到問題。任何人都可以幫助我嗎?我正在研究Angular $ broadcast和$ emit,但我不確定如何處理它。在Angular JS中將一個對象從一個控制器推送到另一個控制器

+3

的可能的複製【如何調用從angularjs另一個控制器的功能?(http://stackoverflow.com/questions/29467339/how-to-call-a-function-from-another-controller-in-angularjs) –

回答

0

您可以使用服務在控制器之間共享數據。它比發送消息要好。 順便說一句,使用$廣播和$發射你可以做到以下幾點。

其中廣播該事件的控制器內部:

$scope.broadcastEvent = function() { 
    $scope.$broadcast('my-broadcast', myElement); 
}; 

裏面的另一個控制器:

$scope.$on('my-broadcast', function(event, data) { 
    console.log(data); 
}); 

至$廣播或$發出就得看你的控制器的結構之間做出選擇。 否則,不要從$ scope發送$ broadcast,您可以從$ rootScope啓動廣播,並且每次都會檢測到它。

但同樣,你在這些情況下使用的數據共享服務

+0

謝謝,非常有用的信息 –

相關問題