Я новичок в angularjs и следовал учебнику здесь от w3schools, чтобы создать мое первое простое приложение Angularjs, и оно работало нормально. Пройдя официальный урок angularjs, я решил модулировать свое приложение, но теперь оно не работает. В настоящее время я получаю сообщение об ошибке
"Контроллер с именем 'redController' не зарегистрирован."
Я хочу отобразить сообщение в компоненте «красный», используя его контроллер. Я пытался изменить многие части кода только для того, чтобы получить новые ошибки, и, похоже, я испортил модульность: |
Я использую v1.6.9
Вот моя структура каталогов
app/
scripts/
angular.min.js
angular-route.js
blue/
blue.template.html
red/
red.template.html
red.module.js
red.component.js
app.config.js
app.module.js
index.html
и исходные файлы:
app.config.js
angular
.module("myApp", [ 'red','ngRoute' ])
.config(function($routeProvider) {
$routeProvider
.when("/red", {
templateUrl : "red/red.template.html",
controller: "redController"
})
.when("/blue", {
templateUrl : "blue/blue.template.html"
});
});
app.module.js
angular.module('myApp', [
'red',
'ngRoute'
]);
index.html
<!DOCTYPE html>
<html>
<script src="scripts/angular.min.js"></script>
<script src="scripts/angular-route.js"></script>
<script src="app.module.js"></script>
<script src="app.config.js"></script>
<script src="red/red.module.js"></script>
<script src="red/red.component.js"></script>
<body ng-app="myApp">
<a href="#!red">Red</a>
<a href="#!blue">Blue</a>
<div ng-view></div>
<p>Click on the links to navigate "</p>
</body>
</html>
red.template.html
<h1>red</h1>
<p>{{msg}}</p>hell
red.module.js
angular.module('red', [ 'ngRoute' ]);
red.component.js
angular.module('red').component('red',{
templateUrl: 'red/red.template.html',
controller: function redController() {
this.msg = "this is red";
console.log("Hi");
}
});