我正在构建一个名为here的文件结构的角度应用。 一个快速的概述是,应用程序的每个部分都被拆分为迷你模块,以保持其可维护性。我认为这是一个很棒的主意,因为我曾经使用的过去的应用程序拥有庞大的代码库,难以破译。
我有一些控制器,服务和路线,当我不断收到此错误时,我刚刚开始构建我的应用程序的第一个指令
错误:[$ injector:unpr]未知提供商:提供商< - < - navDirDirective
我已阅读unknown provider error doc,但无法找到任何内容。
这是我的代码
angular.module('myAppNavbarDirective', []).directive('navDir', ['', function(){
// Runs during compile
return {
template: 'test if the dir is working'
};
}]);
var app = angular.module("myApp", [
'ui.bootstrap',
'ngAnimate',
'myAppRouter',
'myAppHomeCtrl',
'myAppHomeService',
'myAppNavbarDirective'
]);
<!-- Navigation Bar-->
<nav-dir></nav-dir>
<!-- some code -->
<!-- Angular Modules -->
<script type="text/javascript" src="app/app.module.js"></script>
<script type="text/javascript" src="app/app.routes.js"></script>
<script type="text/javascript" src="app/components/home/homeCtrl.js"></script>
<script type="text/javascript" src="app/components/home/homeService.js"></script>
<script type="text/javascript" src="app/shared/navigation-bar/navbarDirective.js"></script>
正如您所看到的,我已经创建了一个带有指令的模块,然后将该模块放在我的主模块脚本中,并在index.html上全部调用它。为什么我会收到这个错误,也许我错过了一些我无法看到的东西?
答案 0 :(得分:3)
您的错误是因为您尝试将名称为''
(空字符串)的服务注入您的指令。
应该是(删除空字符串注入)
angular.module('myAppNavbarDirective', []).directive('navDir', [function(){
// Runs during compile
return {
restrict: 'E',
template: 'test if the dir is working'
};
}]);