我正在建设的应用程序有多个视图,每个都有自己的控制器。我的所有控制器都以相同的方式启动,并在一种方法上有所不同DRYing控制器与指令与服务
$scope.a = ... // same for all controllers
$scope.b = ... // same for all controllers
$scope.c = function(){...} // same for all controllers
$scope.d = function(){...} // is different for each controller
他们说保持你的控制器精简和分解他们的服务。 但是,如果我把a,b,c放在一个服务中,它们将在所有的控制器之间共享,我希望每个控制器在其自己的范围内保留它自己的a,b,c。 我不想分享数据,只是代码。
所以我创建了一个引用父范围并在自己的控制器中声明常用东西的指令。它解决了我的问题,但有没有最佳做法可以推荐?
听起来像是你的代码是有状态的它可能在数据留在控制器本身里面最好的服务代码是无状态的,因此在多个控制器共享(除非有必要在多个控制器之间共享数据,如主数据不会变化太多)。 –