2015-09-25 67 views
0

有沒有基於控制器內部條件來加載/指定模塊的方法?基於條件的角度模塊

var app = angular.module('app',['ngRoute']); 

app.controller("DemoCtrl",["$scope",function($scope){ 
    var a = true; 
    if(a) 
    // Load "Yes" module to app 
    else 
    // Load "No" module to app 
}]); 
+0

正是你說的'負荷modules'是什麼意思? – charlietfl

+0

@charlietfl我的意思是指定像ngRoute這樣的應用程序模塊。在這裏,應用程序使用ngRoute,我只是想根據控制器 –

+0

中的條件添加一個模塊到應用程序,需要第三方懶惰的加載器,如ocLazyLoad。在'v1.xx'的角度上,沒有內建到核心中 – charlietfl

回答

0

不幸的是,沒有,至少開箱即用簡潔的角度。在定義了該模塊之後,您無法將更多模塊加載到另一個模塊中。您需要做的是在定義模塊時移動邏輯以有條件地加載模塊。

另一種選擇是使用ocLazyLoad https://github.com/ocombe/ocLazyLoad工具來延遲加載您的模塊。

1

在Angular開箱即用中沒有直接的方法,但是您可以考慮使用ocLazyLoad module

連結網頁上給出的例子展示瞭如何使用它爲您的情況:

myApp.controller("MyCtrl", function($ocLazyLoad) { 
    $ocLazyLoad.load('testModule.js'); 
});