有没有办法为已经引导的角度模块注入延迟依赖?这就是我的意思:
假设我有一个站点范围的角度应用程序,定义为:
// in app.js
var App = angular.module("App", []);
Run Code Online (Sandbox Code Playgroud)
在每一页:
<html ng-app="App">
Run Code Online (Sandbox Code Playgroud)
稍后,我重新打开应用程序,根据当前页面的需要添加逻辑:
// in reports.js
var App = angular.module("App")
App.controller("ReportsController", ['$scope', function($scope) {
// .. reports controller code
}])
Run Code Online (Sandbox Code Playgroud)
现在,说是逻辑的那些点播位中的一个还需要自己的依赖关系(如ngTouch,ngAnimate,ngResource,等).如何将它们附加到基础应用程序?这似乎不起作用:
// in reports.js
var App = angular.module("App", ['ui.event', 'ngResource']); // <-- raise error when App was already bootstrapped
Run Code Online (Sandbox Code Playgroud)
我意识到我可以事先做好一切,即 -
// in app.js
var App = angular.module("App", ['ui.event', 'ngResource', 'ngAnimate', ...]);
Run Code Online (Sandbox Code Playgroud)
或者自己定义每个模块,然后将所有内容注入主应用程序(有关更多信息,请参阅此处):
// in reports.js
angular.module("Reports", ['ui.event', 'ngResource'])
.controller("ReportsController", ['$scope', …Run Code Online (Sandbox Code Playgroud) 我是角度新手并拥有以下代码.
angular.module('MyApp')
.controller('loginController', ['$scope', '$http', 'conditionalDependency',
function ($scope, $http, conditionalDependency{
}
Run Code Online (Sandbox Code Playgroud)
我想有条件地加载conditionalDependency.像这样的东西
if(true)
{
//add conditionalDependency
}
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点.我看过这篇文章 .但是,我的要求是我在函数中指定了依赖项
提前致谢.