Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从不同的控制器加载一个控制器(ANgular Js)_Javascript_Angularjs - Fatal编程技术网

Javascript 如何从不同的控制器加载一个控制器(ANgular Js)

Javascript 如何从不同的控制器加载一个控制器(ANgular Js),javascript,angularjs,Javascript,Angularjs,我知道如何从不同的controller2加载一个controller1的函数,但是我们可以从controller2加载整个controller1吗?自从我上次使用angularJs已经有一段时间了,所以我可能是错的,但我想你可以这样做 module .controller('controller1', ['$scope', function($scope){ $scope.foo = () => { console.log('here') } }]) .controller

我知道如何从不同的controller2加载一个controller1的函数,但是我们可以从controller2加载整个controller1吗?

自从我上次使用angularJs已经有一段时间了,所以我可能是错的,但我想你可以这样做

module
.controller('controller1', ['$scope', function($scope){
  $scope.foo = () => {
    console.log('here')
  }
}])
.controller('controller2', ['$controller', '$scope', function($controller, $scope){
  // here I will call the previously declared controller
  var controller = $controller('controller1', { $scope: $scope });
  controller.foo() // logs 'here'
  // you can extend it
  controller.baz = 3
  // I think it's required to return it to work properly
  return controller
}])
请记住,如果控制器具有依赖项,则可以覆盖它们