假设我需要一些不依赖于AngularJS的通用对象(例如,实现了某些特殊行为的特定集合)。
我可以在AngularJS之外完全实现它,然后在服务/控制器中使用它。我也可以将它作为服务/工厂,并在其他组件中使用它。
我不知道在AngularJS之外编写代码然后在应用程序中使用它是好还是坏。一个重大的胜利是,在测试这样的代码时,它更容易,因为它不需要AngularJS依赖。
您是否将整个应用程序代码保存在应用程序的AngularJS世界中?
答案 0 :(得分:1)
支持更简单的方法通常是一个好主意,在这种情况下,使用普通的JS对象。
由于外部依赖性较少,它会更灵活,如果你想对它进行单元测试,也可以做的事情较少。
你可能想要将它更深入地集成到角度的场景是,如果它实际上需要一些依赖注入或角度提供的其他这样的功能,但如果它没有任何这样做它的工作,那么我真的没有看到理由将它们混淆起来。
如果你想把它作为一个简单的JS对象,然后使用angular的DI系统将它注入你的一个角度组件,那么将对象分别包装到工厂中是非常简单的。