2013-07-26 80 views
5

假设我需要一些不依赖于AngularJS的通用对象(例如,实现了一些特殊行为的特定集合)。在AngularJS应用程序中使用普通的javascript对象的好坏做法?

我可以在AngularJS之外完全实现它,然后在服务/控制器中使用它。我也可以将它作为服务/工厂并在其他组件中使用。

我不知道在AngularJS之外编写代码然后在应用程序中使用它是好的还是不好的做法。一个巨大的胜利就是在测试这样的代码时更容易,因为它不需要AngularJS的依赖。

您是否在应用程序中将整个应用程序代码保存在AngularJS世界中?

回答

1

通常是一个好主意,支持更简单的方法,在这种情况下,将使用普通的JS对象。

由于较少的外部依赖关系,它会更加灵活,并且如果您想单元测试它,则更少的事情要做。

您可能想要更深入地将其整合到角度中的场景是,它实际上是否需要一些依赖注入或由angular提供的其他此类功能,但如果它没有任何这样的功能,那么我真的不会看到一个混合起来的理由。

如果您想将它作为一个普通的JS对象来使用,然后使用angular的DI系统将其注入到其中一个角度组件中,那么将对象单独包装到工厂中将是非常简单的。

+0

谢谢。我现在正在使用它在工厂/服务中调用“新MyObj”。但我可能会考虑按照您的建议将其包装到单独的Angular服务/工厂中。 – grafthez

相关问题