【问题标题】:Angularjs best architectureAngularjs 最佳架构
【发布时间】:2015-01-18 13:58:37
【问题描述】:

我正在寻找有关 Angularjs 1.3.X 的服务、控制器和指令的最佳实践。

这是我注意到的规则:
- 视图 (html) 只知道主控制器及其作用域
- 指令不应该有自己的服务

所以:
- 视图(html)不能直接调用服务。
- 视图 (html) 必须使用主控制器来访问服务。
- 视图必须声明指令和主控制器之间的绑定

然后:
在代码中,如果指令必须调用服务的业务功能 F1 :
- 主控制器必须发布一个包含函数 F1 的函数 F2
- 视图必须在指令配置中声明 F2

您可以查看附图以获得更直观的说明。

问题:
- 你同意这些规则和代码风格吗?
- 你有什么额外的规定吗?
- 为什么我们不应该遵守这些规则?

【问题讨论】:

  • 指令->服务怎么样?
  • 小控制器和大量服务对我来说似乎是一个好习惯。
  • 对我来说,业务服务必须通过主控制器访问。
  • 指令基本上是组件。我在指令中调用服务没有问题。它可以独立于控制器。
  • 您的架构将导致根控制器在大型应用程序上过于复杂,因为它必须存储应用程序中使用的服务的所有链接。我更喜欢将代码拆分为组件。每个组件都有自己的控制器,控制器在需要时调用一些服务。这为我提供了清晰的逻辑分离。

标签: angularjs model-view-controller


【解决方案1】:

这些是最流行的样式指南,在我看来得到了很好的讨论(三者都在合作):

https://github.com/johnpapa/angular-styleguide

https://github.com/jmcunningham/angularjs-styleguide

https://github.com/toddmotto/angularjs-styleguide

简短回答:您的方法似乎与那些非常相似。你可能想仔细看看他们

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 2020-08-03
    • 1970-01-01
    • 2016-01-30
    • 2011-10-09
    • 2020-12-19
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多