可实例化的角度服务 - 我还能用什么方式重写这个?

时间:2014-10-22 14:03:57

标签: javascript angularjs convention

对于我正在处理的项目,我写的一件事是Angular UI Bootstrap Calendar control的可实例化服务。

您可以在行动here中看到它的插件。

我所遇到的代码问题更多的是架构和最佳实践问题。具体来说,我想我已经写了一个Angular反模式。

服务 - 就像calendarSvc - 是单身人士,但我通过让工厂返回构造函数来明确规避这一点。

话虽如此,单个页面上存在1- n 日历的具体业务需求。此代码是管理单个日历所需代码的有效重构,因此它肯定有助于代码更加干燥。

问题:这个可实例化服务有哪些有效的替代品仍然允许我根据需要指定可重复使用的Calendar对象的实例,但这样做是在不绕过Angular管理代码的方式完成的?

1 个答案:

答案 0 :(得分:1)

你所做的不是反模式,而是最佳实践! 请参阅此样式指南页面,例如:http://github.com/mgechev/angularjs-style-guide#services

你没有绕过Angular的方式。 factory的想法是返回构造函数的可能性。创建服务的另一种方法是service - 模块方法,它会使用new关键字自动实例化您的服务。

另请参阅其他StackOverflow答案作为参考:https://stackoverflow.com/a/20110304/669561

相关问题