相关疑难解决方法(0)

重新打开并向已经引导的应用程序添加依赖项

有没有办法为已经引导的角度模块注入延迟依赖?这就是我的意思:

假设我有一个站点范围的角度应用程序,定义为:

// 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)

bootstrapping dependency-injection angularjs

89
推荐指数
3
解决办法
2万
查看次数

有条件地注入角度模块依赖性

我是角度新手并拥有以下代码.

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)

如何才能做到这一点.我看过这篇文章 .但是,我的要求是我在函数中指定了依赖项

提前致谢.

angularjs

8
推荐指数
1
解决办法
6115
查看次数