有沒有基於控制器內部條件來加載/指定模塊的方法?基於條件的角度模塊
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
}]);
有沒有基於控制器內部條件來加載/指定模塊的方法?基於條件的角度模塊
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
}]);
不幸的是,沒有,至少開箱即用簡潔的角度。在定義了該模塊之後,您無法將更多模塊加載到另一個模塊中。您需要做的是在定義模塊時移動邏輯以有條件地加載模塊。
另一種選擇是使用ocLazyLoad https://github.com/ocombe/ocLazyLoad工具來延遲加載您的模塊。
在Angular開箱即用中沒有直接的方法,但是您可以考慮使用ocLazyLoad module。
連結網頁上給出的例子展示瞭如何使用它爲您的情況:
myApp.controller("MyCtrl", function($ocLazyLoad) {
$ocLazyLoad.load('testModule.js');
});
正是你說的'負荷modules'是什麼意思? – charlietfl
@charlietfl我的意思是指定像ngRoute這樣的應用程序模塊。在這裏,應用程序使用ngRoute,我只是想根據控制器 –
中的條件添加一個模塊到應用程序,需要第三方懶惰的加載器,如ocLazyLoad。在'v1.xx'的角度上,沒有內建到核心中 – charlietfl