2016-01-15 49 views
1

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

我必须得到的是,当你按下一个按钮时,点击应用程序的另一部分,但以一种开放的形式。我有一个函数可以在你的控制器中打开完美的表单,但是我需要从应用程序的另一部分为此调用该函数(否则可能会让他感到其他方式发生)。

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

的问候和感谢。

+1

我想你使用的是在程序中任何地方使用的服务。 –

回答

1

不好回答:如果您的控制器的范围是其他控制器(具有要调用的函数的控制器)的子控件,则可以执行此操作。我相信这不是你的情况。

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

2

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

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

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

factory('sharedFunctions', function(){ 

    return { 
     function1: function() { 
     console.log('function1 called')' 
     }  
    } 
}) 
相关问题