我是角色的新手并拥有以下代码。
angular.module('MyApp')
.controller('loginController', ['$scope', '$http', 'conditionalDependency',
function ($scope, $http, conditionalDependency{
}
我希望有条件地加载 conditionalDependency 。像这样的东西
if(true)
{
//add conditionalDependency
}
如何做到这一点。我见过this post。但是,我的要求是我具有功能
中指定的依赖关系提前致谢。
答案 0 :(得分:15)
不清楚为什么你 将包含在你的例子中的命名函数中但是......
如果您需要条件依赖项,我建议您查看以下内容:
Conditional injection of a service in AngularJS
我已经在一些利基场景中使用了这种方法,并且效果很好。
示例:强>
angular.module('myApp').controller('loginController',
['$injector', '$scope', '$http',
function($injector, $scope, $http) {
var service;
if (something) {
service = $injector.get('myService');
}
});
答案 1 :(得分:1)
即使不在控制器中注入进样器,也可以使用它
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup arg0, int arg1) {
if (arg0.getChildAt(0).isPressed()
|| arg0.getChildAt(1).isPressed()
|| arg0.getChildAt(2).isPressed()) {
if (arg0.getChildAt(0).isPressed()) {
//do your stuff here
} else if (arg0.getChildAt(1).isPressed()) {
//do your stuff here
} else if (arg0.getChildAt(2).isPressed()) {
//do your stuff here
}
}
}
});
答案 2 :(得分:0)
使用:
angular.injector().get('conditionalDep');
$injector
一次注入您的文件并致电$injector.get('dep')
;