javascript - 可实例化的 Angular 服务 - 我还能用什么其他方式重写它?

标签 javascript angularjs convention

对于我正在从事的项目,我编写的内容之一是 Angular UI Bootstrap Calendar control 的可实例化服务.

您可以看到它的操作者 here .

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

服务 - 如 calendarSvc - 是单例,但我通过使工厂返回构造函数来明确规避这一点。

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

问题:这种可实例化服务有哪些有效的替代方案,仍然允许我根据需要指定可重用日历对象的实例,但又不会绕过管理代码的 Angular 方式?

最佳答案

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

您没有规避 Angular 方式。 factory的想法是返回构造函数的可能性。创建服务的另一个替代方案是 service - 模块的方法,将使用 new 关键字自动实例化您的服务。

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

关于javascript - 可实例化的 Angular 服务 - 我还能用什么其他方式重写它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509352/

相关文章:

c++ - 以独立于路径/安装/构建的方式了解资源路径的好方法

android - 什么是更好的 android.R 或自定义 R?

javascript - Jquery 隐藏前 12 个元素,显示后 12 个元素

javascript - 如何编辑本地存储中存在的html数据?

javascript - 为特定的 div 生成输入元素

javascript - 创建新的 Angular $resource

javascript - 使用或不使用 flexbox 填充可用空间

javascript - Angular 2 : Error during evaluation of click

css - 具有背景颜色样式的 div 容器的不透明度

c# - C# 中的类定义约定