Как выполнить ng-include с регистрацией контроллера?

Всем привет! Я изучаю AngularJS и сейчас делаю ng-include html-файла, в котором мне хотелось бы, чтобы был отдельный контроллер.

Я пишу в index.html:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.8.2/angular.min.js"></script>
<script>
    app.controller("indexController", function($scope, $timeout, $http) {
        $scope.welcome = 'components/welcome.html';
    });
</script>
<div ng-controller="indexController">
   <div ng-include="welcome"></div>
</div>

В welcome.html записано:

<script>
    app.controller("welcomeController", function($scope) {
        $scope.hi = 'Hi!';
    });
</script>
<div ng-controller="welcomeController">
   <h1 ng-bind="hi"></h1>
</div>

С ng-include всё ок - welcome.html подгружается, но контроллер не обрабатывается и значение Hi! в соответствующем месте не появляется. Если я правильно понимаю, то проблема в том, что контроллер должен быть зарегистрирован, и это происходит в момент загрузки index.html, но так как welcome.html подгружается позже - регистрации не происходит. Скажите можно ли как-то сделать так, чтобы мой пример работал?


Ответы (0 шт):