我有一个听起来可能很愚蠢的场景,但我被困住并试图了解可能导致它不起作用的原因。
我有一个角度应用程序,现在有三个模块
var app = angular.module('mainApp', ['ngRoute']); //parent module
var reviewModule = angular.module('reviewModule', ['mainApp']); //child 1
var searchmodule = angular.module('searchmodule', ['mainApp']); //child 2
我在我的父模块(即 mainApp)中设置了一些配置和默认字符串,我想在它的所有子模块中使用它们。
另一方面,我的 reviewModule 和 searchmodule(子模块)有单独的控制器和服务,我在不同的路线上使用它们。现在,当我想将一个模块的服务用于另一个模块时,问题就来了,例如,如果我执行以下操作
var searchmodule = angular.module('searchmodule', ['mainApp', 'reviewModule']);
在我的搜索模块控制器中使用 reviewModule 服务,我得到一个异常,说
Error: $injector:modulerr Module Error
Failed to instantiate module searchmodule
两个子模块具有相同的父模块,我想将一个子模块用于另一个子模块,但不明白为什么会出现此异常。
更新:
我什至尝试使用下面的行进行模块声明
var searchmodule = angular.module('searchmodule', ['reviewModule']);
但这也会导致异常。