Javascript 在另一个模块中重用AngularJS组件(依赖项注入)

Javascript 在另一个模块中重用AngularJS组件(依赖项注入),javascript,angularjs,Javascript,Angularjs,如何通过依赖项注入重用简单的角度组件 组件: angular.module("navbar", []).component("nav", function() { console.log("component loaded"); }); angular.module('CtrlHome', ['navbar']).controller('HomeController', function($rootScope, $scope) { }); 我想在其中使用的其他模块控制器: angu

如何通过依赖项注入重用简单的角度组件

组件:

angular.module("navbar", []).component("nav", function() {
    console.log("component loaded");
});
angular.module('CtrlHome', ['navbar']).controller('HomeController', 
function($rootScope, $scope) {
});
我想在其中使用的其他模块控制器:

angular.module("navbar", []).component("nav", function() {
    console.log("component loaded");
});
angular.module('CtrlHome', ['navbar']).controller('HomeController', 
function($rootScope, $scope) {
});
并最终在模板中使用它

<nav></nav>


它向我抛出了一个“喷油器模块错误”。我做错了什么

组件的定义不正确。
组件
注册方法将字符串和对象作为输入。对象描述组件。因此,这是向模块注册组件的正确方法:

angular.module("navbar", []).component("nav", {
    controller: function(){
        console.log("component loaded");
    }
});

您还可以包括几个其他属性来描述组件,即
绑定:{}
模板:“你好,世界!”

您能提供JSFIDLE或SNIPTED吗?感谢您的快速响应,我认为您不小心放了一个方括号。虽然我改变了它,但还是得到了同样的错误。是的,很好。这是一个大括号:-)如果仍然出现相同的错误,可能是在注册
CtrlHome
之前,
navbar
模块没有注册angular。试着检查它们是否按正确的顺序加载。只要模块像angular.module('CtrlHome',['navbar'])那样使用,加载顺序就无关紧要。错误意味着在引导时模块根本没有加载。Ups在index.html中注册它有助于提高。。。我和webpack合作的时间太长了。。。谢谢你,请提供。Moduler表示未定义加载的模块。