AngularJS - 创建模块或服务?

时间:2015-02-11 13:23:21

标签: angularjs

让我先解释一下情况。我有一个App" MyApp"在一个页面中用于创建一些可自定义的产品,在这个应用程序中我有4个控制器。我有4个按钮(每个控制器一个),让用户添加项目(完全不同的对象)。

我想要实现的是当用户点击按钮时打开带有自动填充字段的灯箱。当然,自动完成应该来自不同路由的API(取决于控制器)。所以我的想法是让控制器处理对灯箱的调用并获得结果。

所以在这个场景中,创建一个处理灯箱/自动完成表单的所有DOM创建并传递URL以获取自动完成结果的模块是否更好?并将其注入我的MyApp。 或者创建一个执行相同工作并将其注入每个控制器的服务/工厂?

我担心的是模块可能会过度思考这个问题,并且服务中可能包含过多的DOM细节。

你会怎么做?

Nota:我是AngularJS的新手; - )

1 个答案:

答案 0 :(得分:0)

为什么不使用指令来创建灯箱?然后你的html可以动态地引用当前状态,将它传递给指令,然后指令调用你的服务。有点像...

<div lightbox={{state.current.name}}></div>

.directive('lightbox', function(state) {
    return lightboxService(state)...