gpt4 book ai didi

javascript - AngularJS 动态注入(inject)范围或 Controller

转载 作者:可可西里 更新时间:2023-11-01 01:26:36 24 4
gpt4 key购买 nike

是否可以在运行期间注入(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com