AngularJS - 在同一页面上重用不同服务的控制器

时间:2013-05-30 07:09:09

标签: angularjs

在AngularJS中的

我可以为页面上的一个部分定义一个控制器。我可以有一个带有多个控制器的页面。

<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。

我的问题是 - 如何重用控制器并将其配置为使用其他服务?

1 个答案:

答案 0 :(得分:2)

创建一个注入$controller的指令,并在链接函数中使用它来在其instanciation参数的映射上实现所需的控制器:

$controller("MyController", { $scope: scope, myService: myService})

scope是链接功能的范围变量,myService是您可以使用$injector服务检索的服务。