5

假设我需要一些不依赖于 AngularJS 的通用对象(例如,实现了一些特殊行为的特定集合)。

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

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

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

4

1 回答 1

1

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

由于更少的外部依赖,它将更加灵活,并且如果您也想对其进行单元测试,那么要做的事情也更少。

您可能希望将其更深入地集成到 Angular 中的情况是,如果它实际上需要一些依赖注入或 Angular 提供的其他此类功能,但如果它在没有任何这些的情况下完成工作,那么我真的没有理由混合他们起来。

如果你想将它作为一个普通的 JS 对象来做,然后可能使用 Angular 的 DI 系统将它注入到你的一个 Angular 组件中,为此将对象单独包装到工厂中会非常简单。

于 2013-07-26T06:04:22.893 回答