вызов контроллера из другого в AngularJS

0

У меня такой контроллер:

  .controller('candidatureStartCtrl', function ($scope, $parse, fileUploadCtrl) {

//...code
      fileUploadCtrl.uploadFile($scope.identityDocUpload);
//...code
}

in candidatureStartCtrl Я fileUploadCtrl другой контроллер, который является fileUploadCtrl чтобы использовать его функцию uploadFile().

но я получаю эту ошибку в консоли, хотя я импортировал fileUploadCtrl js в index.html:

 Error: [$injector:unpr] Unknown provider: fileUploadCtrlProvider <- fileUploadCtrl <- CandidatureStartCtrl

это скрипка с той же концепцией:

http://jsfiddle.net/7tzXh/143/

Как я могу это решить?

  • 0
    Согласно ошибке ваш fileUploadCtrl не определен. Убедитесь, что вы добавили правильную ссылку
  • 0
    @Shreyas, как я уже сказал, я импортировал fileUploadCtrl js в index.html
Показать ещё 5 комментариев
Теги:

2 ответа

1
Лучший ответ

Вы не можете вводить контроллеры напрямую, не используя $ controller, как указано в одном из комментариев к вопросу. Если вам необходимо обмениваться данными, вы можете использовать factory или service.

Здесь вы найдете рабочую скрипку:

http://jsfiddle.net/7tzXh/144/

  • 0
    Спасибо, я на самом деле использовал это решение раньше, и я хотел спросить, могу ли я использовать контроллер внутри другого, но поскольку контроллеры собирают мусор при изменении маршрута с помощью сервиса / фабрики, это лучшая идея.
0

$controller используется для ввода контроллера в другой. Я создал простую скрипку, чтобы прояснить ситуацию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню