Jos*_*man 17 javascript dependency-injection angularjs angularjs-scope angularjs-controller
是否可以将控制器注入另一个属于同一模块的控制器?
例:
var app = angular.module('myAppModule', [])
.controller('controllerOne', ['$scope', function($scope){
$scope.helloWorld = function(){
return 'Hello World';
}
}])
.controller('controllerTwo', ['$scope', 'controllerOne', function($scope, controllerOne){
console.log(controllerOne.helloWorld());
}])Run Code Online (Sandbox Code Playgroud)
我一直在controllerOne上得到未知的提供者.我不知道它是如何可能的,因为它们在同一个模块中共存.任何帮助将非常感激.
Pan*_*kar 25
您需要使用$controller依赖关系,您可以将一个控制器注入另一个控制器
.controller('controllerTwo', ['$scope', '$controller', function($scope, $controller){
$controller('controllerOne', {$scope: $scope})
//inside scope you the controllerOne scope will available
}]);
Run Code Online (Sandbox Code Playgroud)
但更喜欢service/factory分享数据