fwi*_*ind 2 javascript angularjs
向我的网站添加指令时出现以下错误:
Error: [ng:areq] Argument 'MainController' is not a function, got undefined
Run Code Online (Sandbox Code Playgroud)
只有在我的网站中包含welcome-directive(welcome.js)时才会出现错误.如果导入被删除,控制器工作.
我的index.html的正文
<body ng-app="my-app">
<div ng-controller="MainController">
<welcome></welcome>
</div>
<!-- Angular -->
<script src="bower_components/angular/angular.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/mainController.js"></script>
<!-- Without this line the controller works -->
<script src="js/directives/welcome.js"></script>
</body>
Run Code Online (Sandbox Code Playgroud)
app.js
(function() {
var app = angular.module('my-app', []);
})();
Run Code Online (Sandbox Code Playgroud)
mainController.js
angular.module('my-app', [])
.controller('MainController', ['$scope', function($scope) {
console.log('Controller working');
}]);
Run Code Online (Sandbox Code Playgroud)
welcome.js
angular.module('my-app', [])
.directive("welcome", function() {
return {
restrict: "E",
template: "<div>Test test.</div>"
};
});
Run Code Online (Sandbox Code Playgroud)
您正在重新定义模块.仅定义模块一次.
当使用angular.module('my-app', [])它定义模块时,这应该只使用一次.当你想要检索它.然后用angular.module('my-app')
使用
angular.module('my-app') //Notice remove []
.directive("welcome", function() {
});
Run Code Online (Sandbox Code Playgroud)