是否可以在运行期间注入(inject)作用域或 Controller ? 或任何其他将服务动态注入(inject) Controller 的建议?
Application.controller('IndexController', function($scope){
// some actions
if(someconditions) {
$scope.$inject = [someServiceName];
// and here i want to use service methods
}
});
提前致谢
最佳答案
可以使用 $injector 将服务动态注入(inject)(按名称)到 Controller 中.能够通过 Controller 参数注入(inject)服务只是 Angular 提供的一种便利。在幕后,Angular 使用 $injector 来检索对象实例。但是我们也可以自己使用 $injector。
function MyCtrl($scope, $injector) {
$scope.doSomething = function(someService) {
var service = $injector.get(someService) // someService contains the name of a service
service.value += 10
}
Fiddle .
关于javascript - AngularJS 动态注入(inject)范围或 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14415845/