如何从controller2中的controller1调用函数? AngularJS

时间:2017-12-15 11:56:33

标签: angularjs scope controller angularjs-scope

我在controller1中定义了一个函数,并希望在controller2中使用它。当我$scope.functionName()甚至$rootScope.functionName()时,我收到此错误

  

TypeError:$ scope.functionName()不是函数

它在controller1中工作得非常好,但正如预期的那样在controller2中没有。我不想将现有函数复制并粘贴到controller2中以使用它。它应该是可重复使用的。

2 个答案:

答案 0 :(得分:0)

创建服务或工厂并将功能放在那里。接下来,让两个控制器通过将它注入两个控制器来使用服务/工厂。

答案 1 :(得分:0)

使用事件($ on,$ broadcast和$ emit)与两个控制器进行通信。

语法:

$ $范围广播。(" MyEvent",数据); 。$ $范围发射(" MyEvent",数据);

$ scope。$ on(" MyEvent",function(evt,data){   //处理程序代码在这里}); 希望它有所帮助。