在另一个angularjs中使用控制器的功能

时间:2016-01-15 08:36:14

标签: javascript angularjs function controllers

几天来,我一直在尝试使用另一个控制器的功能来解决它​​。

我必须得到的是,当您按下按钮时,请单击该应用程序的另一部分但使用打开的表单。我有一个函数可以在你的控制器中打开表单,但是我需要从应用程序的另一部分调用该函数(或者它可能会让其他人感到高兴)。

我希望你能帮助我,我不知道还能给予什么......

问候和感谢。

2 个答案:

答案 0 :(得分:2)

在工厂内移动功能。您可以在任何控制器中注入此工厂以访问该功能。

controller('controller1', function(sharedFunctions){
   sharedFunctions.function1();
})

controller('controller2', function(sharedFunctions){
   sharedFunctions.function1();
})

factory('sharedFunctions', function(){

   return {
      function1: function() {
         console.log('function1 called')' 
      }    
   }
})

答案 1 :(得分:1)

错误答案:如果控制器的范围是另一个控制器(具有要调用的功能的控制器)的子控件,则可以执行此操作。我相信这不是你的情况。

更好的答案:您应该将此功能移至服务中,以便您可以重复使用它并从应用程序的任何其他位置调用它。如果函数写得很好(松散耦合),那么应该很容易做到这一点。