在 AngularJS 中,从另一个模块导入组件的最佳方法是什么?

b_dev6

我的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

angularjs在服务中包含另一个模块

AngularJS从同一模块中的另一个函数调用模块中定义的函数

有条件地从另一个组件导入一个组件的最佳方法是什么?

从angularjs中的另一个模块的控制器调用一个模块的控制器功能

访问angularjs另一个模块中定义的工厂

angularjs-从另一个模块中的控制器访问工厂

模拟一个AngularJS模块传递给另一个

AngularJs从另一个指令中调用Controller

从同一控制器Angularjs中的另一个方法访问$ scope变量

使用 AngularJS 和 $httprequest 在另一个方法中捕获方法的返回

AngularJS:将控制器插入同一模块中的另一个控制器

AngularJS控制器可以从同一模块中的另一个控制器继承吗?

AngularJS:如何在另一个控制器中执行方法?

AngularJS:我可以使用在另一个模块中定义的过滤器吗?

在angularjs中添加另一个模块依赖项,应用程序停止工作

AngularJS从同一模块将工厂注入另一个工厂

Angularjs中的模块是什么?

AngularJS中的组件是什么?

如何在angularjs的另一个工厂中使用模块功能

等待一个请求完成,然后在 angularjs 中执行另一个请求

在angularjs中通过另一个元素获取一个元素

匹配AngularJS UI路由器中的一个或另一个单词

在Angularjs中的另一个指令模板中使用一个指令

AngularJs,在一个数组中搜索另一个数组

在另一个Controller angularjs中调用Controller angularjs

组件,在 Angularjs1.5 中绑定 - 将数据从一个控制器传递到另一个控制器

为什么在 angularjs 的另一个控制器中修改服务后我的 UI 没有更新

在Apollo Server中调用另一个解析器的最佳方法是什么?

在Eclipse中重用另一个Java项目中的类的最佳方法是什么?