我正在建設的應用程序有多個視圖,每個都有自己的控制器。我的所有控制器都以相同的方式啓動,並在一種方法上有所不同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。 我不想分享數據,只是代碼。
所以我創建了一個引用父範圍並在自己的控制器中聲明常用東西的指令。它解決了我的問題,但有沒有最佳做法可以推薦?
聽起來像是你的代碼是有狀態的它可能在數據留在控制器本身裏面最好的服務代碼是無狀態的,因此在多個控制器共享(除非有必要在多個控制器之間共享數據,如主數據不會變化太多)。 –