У меня есть приложение Angular, которое перенаправляет маршрут на определенную html-страницу. Но как включить связанный javascript с этим.
Например, если я нажму красный, он загрузит red.html. но мне нужно дополнительно загрузить red.js.
<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "main.html"
})
.when("/red", {
templateUrl : "red.html";
})
.when("/green", {
templateUrl : "green.html"
})
.when("/blue", {
templateUrl : "blue.html"
});
});
</script>
Я использую Angular 1.x
Найден ответ отсюда: stackoverflow.com/questions/20087274/…



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны использовать свойство controller:
<script>
var app = angular.module("myApp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
controller : "MainController"
templateUrl : "main.html"
})
.when("/red", {
controller : "RedController";
templateUrl : "red.html";
})
.when("/green", {
controller : "GreenController"
templateUrl : "green.html"
})
.when("/blue", {
controller : "BlueController"
templateUrl : "blue.html"
});
});
</script>
<script src = "controllers.js"></script> // add controllers files
контроллеры.js
angular
.module('myApp')
.controller('MainController', function() {
//your MainController code
});
angular
.module('myApp')
.controller('RedController', function() {
//your RedController code
});
angular
.module('myApp')
.controller('GreenController', function() {
//your GreenController code
});
angular
.module('myApp')
.controller('BlueController', function() {
//your BlueController code
});
Я хочу включить файлы js. В контроллере нельзя добавить эту строку <script type = "text/javascript" src = "js/red.js"></script>
вы должны добавить в red.html, и он будет загружен в той же области вашего контроллера
Какая версия углового? тег
angularjsиспользуется для Angular 1.x, а тегangularиспользуется для Angular 2+. Прочитайте описания тегов.