我的 AngularJS (v1.7) 应用程序中有 2 个子模块,我们称它们为 A 和 B。我正在尝试从模块 B (componentB) 导入一个组件(带有 html 模板和控制器),以便在模块 A 中组件的模板(componentA)。
在阅读Reuse AngularJS Component in another Module (Dependency Injection) 之后,我首先尝试通过将 componentB 指定为 componentA 的依赖项,然后在 componentA 的模板中使用它来做到这一点。
组件A.js
angular.module('A', ['componentB']).component('componentA', {...});
组件A.html
<div>
<componentB></componentB>
</div>
不幸的是,这不起作用,即使 componentB 已正确定义并在模块 B 中成功使用。我还尝试通过app.js
如下修改将模块 B 指定为模块 A 的依赖项:
angular.module('A', ['B'])
.config(...
在这两种情况下,我都得到了
未捕获的错误:[$injector:modulerr]
我很难找到与 AngularJS 相关的类似问题/文章,而不是较新的 Angular。我对 AngularJS 也很生疏,所以任何帮助将不胜感激,提前致谢。
这是非常直接的:
angular.module("moduleB",[])
.component("componentB", {
template: "<div>This is Component B from Module B</div>"
});
angular.module("moduleA",["moduleB"])
<div ng-app="moduleA">
<component-b></component-b>
</div>
将moduleA
来自进口部件moduleB
通过声明moduleB
作为一个依赖。
只有第一个模块声明应该指定依赖项。
错误
angular.module('moduleA', []) .controller('ctrl', /* ... */) angular.module('moduleA', ['moduleB']) .service('serviceA', /* ... */)
再次声明依赖关系会导致控制器被注销。
angular.module('moduleA', ['moduleB'])
angular.module('moduleA')
.controller('ctrl', /* ... */)
angular.module('moduleA')
.service('serviceA', /* ... */)
有关更多信息,请参阅
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句