何时使用模块与控制器

时间:2014-04-01 13:00:24

标签: angularjs model-view-controller architecture

我是angluarjs的新手并尝试构建一个示例应用程序。

本申请分为3个部分:

A。)地图

B。)“收到”-area

C。)“发送”-area

每个部分都有自己的布局/视图区域,不能同时显示。

在B部分中,您可以通过点击或自动从服务器加载信息,这些信息将在部分“B.)”中显示为文本,在“A。”部分中显示为地图标记。

此外,您可以在“A.)”部分内单击以设置新标记。

在“C.)”部分,有一个发送按钮,用于从“A.)”获取新标记,以便将其发送到服务器。

目前:所有部分(A,B,C)都是角度模块/自己的应用程序。

但我不知道,如果这是正确的方法/最佳实践。

另一种方式可以是整个页面的单个模块和3个控制器(A,B,C),它们处理A,B和C部分的逻辑。

angularjs的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

根据您的描述,我建议将其设计为单个AngularJS应用程序,每个视图都有单独的控制器。听起来您可以使用角度服务来处理客户端业务逻辑并缓存视图可以使用的任何共享数据/模型。在Angular中,最好的做法是保持控制器非常精简,只关注视图设置/绑定并协调对服务的访问。

答案 1 :(得分:0)

在寻找灵感之后,我决定实现以下思路:

对于所有自制代码,我使用一个模块用于整个应用程序,对于所有外部事物,与外部插件和服务捆绑在一起,我采用不同的模块。这意味着:pne模块用于每个" service-plugin bundle" (例如google API& angular-google-maps插件)

所以我可以切换模块,如果外部服务不起作用等等。

在问题中查看我的例子,这意味着:

应用程序部分A:地图和所有地图特定的东西(设置新标记,绘制圆等)都是洞察地图模块。如果我决定使用开放街道地图而不是谷歌地图,我将插入一个新的地图模块

申请部分A和B:这是我的主要原因" app模块与不同的控制器。