我正在一个项目中有近90多个模块。 所有模块都有一组输入字段,并且在提交时应将数据保存在服务器上。 在任何给定的时间点,只有一个模块处于活动状态。但是在后台可以打开模块。
提交按钮对所有模块都是通用的,这意味着整个应用程序只有一个提交按钮。
主要的座右铭是保持个别模块更改为最低限度,并从中央位置处理模块中的某些事情(验证,重新加载等)。
目前的办法,我打算是,
- 使用“moduleInit”指令,所有模块应在其 部分。
- 在指令采用了模块的$范围,它只要 模块是开放的传递给 共同服务/工厂(pushConfigService)
的pushConfigService商店,并保持这个范围。一旦范围被销毁, 的引用将从pushConfigService中删除。
页脚面板另有一个指令,在其提交按钮和 调用在pushConfigService保存功能,这反过来又在模块中调用 一个$范围函数来获取表单数据。
pushConfigService与一堆其他服务交谈,如
dirtyChecker,apiGenerator并最终将数据发布到服务器。
每个模块都有一组使用某些标准名称定义的作用域方法。例如:_submit,_onSubmit,_cancel,_reload等。
另一种方法来处理这个,广播提交事件和每个模块听相同。有可能更多的行动将被添加到页脚面板。 所以我有点犹豫使用广播方式。
我的问题,是否将控制器范围传递给服务是一个好主意?任何替代建议?
在此先感谢。
嗨,在这个问题上的任何进展?我的回答是否有帮助,还是需要进一步解释? –
嘿马尔滕,我错过了你的评论..对不起...是的,你的建议真的帮助了这里。为此非常感谢。 – user3446847
很高兴听到它帮助你@ user3446847!你可以将答案标记为已接受(http://stackoverflow.com/help/someone-answers)? –