2016-04-25 96 views
-1

如何正确模块化Angularjs应用程序?我有一个带有独立部分的HTML页面,我想要单独的控制器。目前我有一个单一的控制器,它服务于整个页面。 HTML页面的不同部分共享相同的范围数据。有人可以提供一个简短而整洁的例子,提供多个控制器为同一页面的部分服务器提供服务,并共享通用范围数据我对Angular很陌生。如何正确模块化AngularJS应用程序?

非常感谢。

+0

我个人的偏好是使用服务和指令。 –

+0

一个简单的例子将不胜感激 – Nikolai

回答

3

这个问题太广,然而在这里充分回答是一些提示:

  1. 使用指令/组件时,需要操作DOM
  2. 控制器应具有更少的代码可能。将逻辑/服务器调用放入服务层。
  3. 如果您需要具有多个控制器共享数据的复杂导航系统,则可能需要检查ui路由器(https://github.com/angular-ui/ui-router)。这是一个状态机,您可以在其中嵌套状态及其相关视图。子状态的控制器从允许共享数据的父状态继承。
  4. 如果不是ui-router 2在控制器中共享数据的方式:事件($ on,$ emit),存储服务中共享的数据并使用$ watch监视更改。
+0

感谢您的答案。但我真的很感激一个非常简短的例子,它带有几个指令/服务,一个控制器。需要想象这些事情是如何结合在一起的。不需要任何复杂的... – Nikolai

+1

太依赖于你的选择,如果我去一个UI路由器样本,你不会去为它,大部分我将展示他们如何挂在一起将下降。关于它们如何挂在一起非常简单:控制器使用服务,指令在模板中使用,并且可以注入服务,因为指令的绑定可以检查网上的文档或大量样本。对于指令,已经有太多可以说的了。 – Walfrat

+0

感谢您的指导 – Nikolai