Есть две проблемы, которые необходимо решить. Во-первых, в файле studentController.js вы используете синтаксис var mainApp = angular.module("testApp", []);
, который сбрасывает модуль AngularJS, а все, что было создано до этого, удаляется.
Чтобы ответить на ваш вопрос о контроллерах, контроллеры AngularJS могутне обновлять напрямую, используя UpgradeComponent
(см. https://angular.io/guide/upgrade#using-angularjs-component-directives-from-angular-code), потому что они не являются компонентами / директивами, имеющими шаблон. Вот почему вы получаете ошибку (после исправления первой проблемы) Unknown provider: studentControllerDirectiveProvider <- studentControllerDirective
. не удается найти директиву для эталонного studentController, поэтому она добавляет директиву, чтобы посмотреть, есть ли в ней что-либо.
Чтобы это исправить, либо преобразуйте контроллер в AngularJS в директиву с шаблоном, либо преобразуйте ее всервис в AngularJS, а затем внедрите его в Angular, используя UpgradeModule
. Имейте в виду, что вам понадобится где-то шаблон для этого контроллера, чтобы его можно было обновить до Angular. Рабочий пример этого можно найти в моем стековозглашенном ниже.
https://stackblitz.com/edit/ng6hybrid-zs6waw?file=app%2Fdirective-wrappers%2FstudentControllerWrapper.ts