2017-10-12 56 views
1

如何通过依赖注入重用一个简单的角度组件?
在另一模块(依赖注入)中重用AngularJS组件

组件:

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

其他模块控制器,我想用它在:

angular.module('CtrlHome', ['navbar']).controller('HomeController', 
function($rootScope, $scope) { 
}); 

,最后在模板中使用它

<nav></nav> 

它引发了一个“注射器modulerr”错误。我在这里做错了什么?

+0

请提供http://stackoverflow.com/help/mcve。 modulerr表示加载的模块未定义。 – estus

回答

1

组件未正确定义。注册方法采用一个字符串和一个对象作为输入。该对象描述组件。因此,这将是与模块注册一个组件的正确方法:

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

还有一些其他的属性可以包括描述部件,即bindings: {}template: '<div>Hello, World!</div>'

+0

你能提供jsfiddle或snippet吗? –

+0

感谢您的快速响应,我认为你意外地放了一个方括号。改变它后,我仍然得到相同的错误。 –

+0

是的,好的。这是一个大括号:-)如果你仍然得到相同的错误,或许你的'navbar'模块没有在注册'CtrlHome'之前以角度注册。尝试检查它们是否按正确顺序加载。 –