假设我需要一些不依赖于 AngularJS 的通用对象(例如,实现了一些特殊行为的特定集合)。
我可以完全在 AngularJS 之外实现它,然后在服务/ Controller 中使用它。我也可以将其作为服务/工厂并在其他组件中使用。
我不知道在 AngularJS 之外编写代码然后在应用程序中使用它是好的还是坏的做法。一个巨大的胜利是,在测试此类代码时更容易,因为它不需要 AngularJS 依赖项。
您是否将整个应用程序代码保留在您的应用程序的 AngularJS 世界中?
最佳答案
通常来说,采用更简单的方法是个好主意,在这种情况下,就是使用普通的 JS 对象。
由于较少的外部依赖性,它会更加灵活,而且如果您想对它进行单元测试,也可以减少要做的事情。
您可能希望将它更深入地集成到 Angular 中的场景是,如果它实际上需要一些依赖注入(inject)或 Angular 提供的其他此类功能,但如果它在没有任何这些的情况下完成工作,那么我真的看不到将它们混为一谈的理由。
如果您想将它作为一个普通的 JS 对象来做,然后可能使用 Angular 的 DI 系统将它注入(inject)到您的一个 Angular 组件中,那么将对象单独包装到一个工厂中将非常简单。
关于javascript - 在 AngularJS 应用程序中使用纯 javascript 对象是好的还是坏的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17873925/