2017-05-03 88 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

谢谢,非常有用的信息 –

相关问题