AngularJs - 将子模块注入其他子模块
AngularJs - Injecting child module into other child module
我有一个可能听起来很愚蠢的场景,但我被卡住了,并试图了解可能导致它不起作用的原因。
我有一个 angular 应用程序,目前包含三个模块
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']);
但这也会导致异常。
这是倒退....将辅助模块添加为主模块的依赖项
angular.module('reviewModule', []);
angular.module('searchmodule', []);
angular.module('mainApp', ['ngRoute','reviewModule', 'searchmodule']); //parent module
所有模块的所有组件现在都可以在整个应用程序的任何地方使用
或者你可以让一个 child 加载另一个作为依赖项,但最终结果是它们都需要绑定到被引导的主应用程序模块
示例:
angular.module('reviewModule', []);
angular.module('searchmodule', []);
// module just to combine other modules
angular.module('myChildModules',['reviewModule', 'searchmodule']);
// add combined modules as dependency of main app module
angular.module('mainApp', ['ngRoute','myChildModules']);
我有一个可能听起来很愚蠢的场景,但我被卡住了,并试图了解可能导致它不起作用的原因。
我有一个 angular 应用程序,目前包含三个模块
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']);
但这也会导致异常。
这是倒退....将辅助模块添加为主模块的依赖项
angular.module('reviewModule', []);
angular.module('searchmodule', []);
angular.module('mainApp', ['ngRoute','reviewModule', 'searchmodule']); //parent module
所有模块的所有组件现在都可以在整个应用程序的任何地方使用
或者你可以让一个 child 加载另一个作为依赖项,但最终结果是它们都需要绑定到被引导的主应用程序模块
示例:
angular.module('reviewModule', []);
angular.module('searchmodule', []);
// module just to combine other modules
angular.module('myChildModules',['reviewModule', 'searchmodule']);
// add combined modules as dependency of main app module
angular.module('mainApp', ['ngRoute','myChildModules']);