【问题标题】:Should I have more angular services or controllers?我应该有更多的角度服务或控制器吗?
【发布时间】:2016-11-27 23:46:32
【问题描述】:

我正在开发一个有角度的网页游戏,我有一堆使用单个 html 模板作为视图的任务。我遇到的问题是如何组织 Angular 代码。

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

或者我应该为每个任务配备一个控制器?这样我们就可以整体使用更少的服务,并在任务的各个控制器之间共享它们。

哪一个更有意义,并且可能具有最少的代码重复?有没有更好的替代方案?

【问题讨论】:

    标签: angularjs angular-services angular-controller


    【解决方案1】:

    我只是建议您为每个单元选择一个控制器,并将服务视为您可以在控制器之间共享的元素,将它们构建为功能独立的可共享元素。

    任务 1 = 控制器 1 -> 注入该任务所需的所有服务
    任务 2 = 控制器 2 -> 注入此控制器所需的所有服务
    .......

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        可以在earlier post 中找到有关角度控制器与角度服务的良好描述

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-07-13
          • 1970-01-01
          • 2015-04-21
          • 2015-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多