我可以为页面上的一个部分定义一个控制器。我可以有一个带有多个控制器的页面。
<div ng-controller="ThisSectionController">
....
</div>
<div ng-controller="ThatSectionController">
....
</div>
我可以在使用ng-init
发送不同配置时重用控制器<div ng-controller="MyController" ng-init="i = 1">
{{ i }}
</div>
<div ng-controller="MyController" ng-init="i =2" >
{{ i }}
</div>
这将按预期输出1和2。
我的问题是 - 如何重用控制器并将其配置为使用其他服务?
答案 0 :(得分:2)
创建一个注入$controller
的指令,并在链接函数中使用它来在其instanciation参数的映射上实现所需的控制器:
$controller("MyController", { $scope: scope, myService: myService})
scope
是链接功能的范围变量,myService
是您可以使用$injector
服务检索的服务。