В AngularJS, как я могу вызвать директиву внутри контроллера для выполнения задачи?

0

У меня есть контроллер, который выполняет некоторые вызовы БД и соответственно загружает контент в мою $scope. Все работает отлично. Когда вызовы завершены, я запускаю JS внутри контроллера в обратном вызове, чтобы настроить высоту и другие атрибуты моего приложения. К сожалению, я запускаю этот JS в нескольких контроллерах.

Я хотел бы разместить сценарий в директиве, чтобы я мог запускать директиву в обратном вызове контроллеров и иметь только JS в одном месте. Помимо этого, "правильный путь", он будет значительно упрощен.

Теги:

1 ответ

1

При совместном использовании кода между несколькими контроллерами используйте службу.

Пример кода из документов AngularJS:

angular.
module('myServiceModule', []).
 controller('MyController', ['$scope','notify', function ($scope, notify) {
   $scope.callNotify = function(msg) {
     notify(msg);
   };
 }]).
factory('notify', ['$window', function(win) {
   var msgs = [];
   return function(msg) {
     msgs.push(msg);
     if (msgs.length == 3) {
       win.alert(msgs.join("\n"));
       msgs = [];
     }
   };
 }]);

Директивы предназначены для использования в HTML, а не для сценариев внутри контроллеров.

  • 0
    Я включу это в свои сценарии и посмотрю, как это работает.

Ещё вопросы

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