2016-09-26 71 views
0

我的情况有些条件有两个独立的实现如下如何基于在angularjs

function abc(){ 
    if(someCondition){ 

    // Implemention 1 

    } else { 

    // Implemention 2 

} 

}

这种情况在整个应用程序,但我想我的代码是干净的。 我想在c#中有类似的地方,通过依赖注入我可以在运行时在两个类之间进行选择,并在Class1与“Implementaion 1”和Class2与“Implemention 2”之间切换。我正在使用angularjs 1.x

例如: 我在“实施2”的“实施1”和相同的20控制器和服务中有大约20个控制器和服务。你能帮我设计我的应用程序吗?如果我的应用程序处于“模式1”,那么它应该使用“实现1”,而在运行时如果它切换到“模式2”,则应该使用“实现2”

请给予一些sugestions。

回答

2

您可以通过使用$注射器当然做到这一点,这里是代码:

angular.module('myApp').controller('myCtrl', 
    ['$injector', '$scope', 
    function($injector, $scope) { 
     var service; 
     if (something) { 
      service = $injector.get('myService1'); 
     }else{ 
      service = $injector.get('myService2'); 
     } 
    }); 
+0

感谢您的答复。 “实施1”中有大约20个控制器和服务,“实施2”中有相同的20个控制器和服务。你能帮我设计我的应用程序吗?如果我的应用程序处于“模式1”,那么它应该使用“实现1”,而在运行时如果它切换到“模式2”,则应该使用“实现2” – Prateik