2016-11-27 52 views
0

我正在开发一个角度的网页游戏,我有一堆使用单个html模板进行视图的任务。我遇到的问题是如何组织Angular代码。我应该有更多的角度服务或控制器?

我应该只有一个控制器(它将持有非任务特定的逻辑)并使用一堆服务(每个任务特定逻辑一个)?控制器可能会有一个很大的if/else块来为选定的任务使用正确的服务。

或者我应该为每个任务都有一个控制器吗?这样我们就可以使用更少的服务,并将它们分享到各种控制器中进行任务。

哪一个更有意义,可能会有最少的代码重复?能否有两个更好的选择?

回答

1

我只是建议你去为每个单元的控制器,并建立服务思想作为可以在控制器之间共享的元素,将它们构建为功能独立的可共享元素。

任务1 =控制器1 - >注入所需的那个任务
任务2 =控制器的所有服务2 - >注入所需的这一个
所有服务.......

1

您不能在控制器之间共享代码。如果您希望减少重复代码,您应该创建服务,以便您可以在它们和控制器之间共享代码。

0

良好的描述角度控制器与角度服务可以在earlier post

我会建议使用每个任务的控制器。将服务注入与每个控制器相关的特定任务。虽然您仍然需要编写服务以与控制器共享该数据/逻辑,但您可以避免不必要的服务注入以及大量的if/esle块