刚刚学习Angular,我遇到了一些模块解析问题。在js/directives/directives.js
中,我将以下指令限定为directives
模块:
angular.module("directives").directive("selectList", function() {
return {
restrict: 'E',
link: function() {
// do stuff
}
}
});
在我的网页上:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
<script>
angular.module("editUserApp", ["directives"])
.controller("editUserController", ['$http', '$scope', function($http, $scope) {
// do stuff here
}]
);
</script>
我得到的错误如下:
Error: [$injector:modulerr] Failed to instantiate module editUserApp due to:
[$injector:modulerr] Failed to instantiate module directives due to:
[$injector:nomod] Module 'directives' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
现在,很显然,editUserApp
无法知道directives
的位置,所有这些,所以如何告诉它获取directives.js文件?我是否必须将其包含在脚本标记中(它看起来不太可扩展)?
我需要一些方法将指令导入我的角度应用程序。我怎么能这样做?
答案 0 :(得分:0)
你需要
angular.module("directives" ,[])
在你的第一个区块
angular.module("directives")
尝试查找名为directives
的现有模块如果您正在寻找根据需要导入这些文件的方法,您可能需要查看http://requirejs.org/或http://browserify.org/或类似工具。
答案 1 :(得分:0)
您需要将js / directives / directives.js文件包含在html中,并删除对App模块的指令依赖性。
你的代码应该是:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
<script>
angular.module("editUserApp", [])
.controller("editUserController", ['$http','directives', '$scope', function($http, $scope,directives) {
// do stuff here
}]
);
</script>