我对某事感到困惑。一些依赖项必须注入(inject)到主模块中。例如:
angular.module("app", ["ui.router", "ui.bootstrap", "toaster"]);
而其他一些依赖项可以只注入(inject)到 Controller 中,但不需要注入(inject)到主模块中。例如:
angular.module("app").controller("newCtrl", ["$q", newCtrl);
我很难理解为什么。任何帮助将不胜感激。
最佳答案
$q
核心 ng 模块内的服务,根据 documentation .
当加载和解析 angular.js 文件时,ng 模块中的所有服务都会被引导和注册。这允许您将它们注入(inject)应用程序中的任何位置。
但是,上面列出的三个示例都是外部的模块化依赖项。它们需要显式注册到您的应用程序中,以便当 $injector
服务尝试解析它们时,其中的组件可用。
关于AngularJS:将依赖项注入(inject)主模块或 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35070751/