【发布时间】:2014-09-12 18:56:37
【问题描述】:
我在我的项目中使用 angular-ui,我想实现一个模态窗口。库的大部分组件 (http://angular-ui.github.io/bootstrap/) 都作为指令实现(如预期的那样)。但是,模式不是 - 它是作为服务实现的。这导致对控制器中的视图有很强的依赖性(即控制器需要知道视图使用的是模态窗口,这是不应该的)。
我的问题是:为什么模式是作为服务实现的,而不是指令?它有什么好处吗?
【问题讨论】:
-
如果你不想在每个控制器中注入
$modal,有很多方法可以解决它。创建自己的指令来侦听广播事件或将$modal注入您已经用作示例的服务中 -
@harlietfl 问题是:它作为服务公开的原因是什么?我看不出这比指令有什么好处,而且我确实看到了很多缺点(依赖于控制器中的视图)。我知道我可以自己编写指令,但也许它是服务是有原因的。
标签: angularjs angular-ui-bootstrap