• Есть ли рисовалка инфраструктуры для веб-проектов?

    antonydevanchi
    @antonydevanchi Автор вопроса
    10 лет в айтишке
    Докину еще красивые варианты:
    1. https://deskle.com
    2. https://www.archimatetool.com
    Ответ написан
    Комментировать
  • Зачем $destroy у angularJS?

    miraage
    @miraage
    Старый прогер
    Пример 1

    Представим директиву для bootstrap tooltip.
    В link-функции мы пишем elem.tooltip({ /* opts */);

    Скажем, у нас есть таблица с 10 строками - tr, через ngRepeat.
    Нажали на кнопку в одном из td, открылся tooltip. Пока он висит, строка исчезает по какому-то условию, допусти filter. БИНГО! tooltip останется. Чтобы убрать его, в link-функции директивы надо написать примерно такой код:

    scope.$on('$destroy', function() {
      elem.tooltip('destroy');
    }


    Пример 2

    Коммуникация контроллеров. Порой не всегда удобно использовать фабрики/сервисы для этого. Если не вызвать функцию-дерегистратор - обработчик события останется в $rootScope навсегда и будет вызываться.

    function FooCtrl($rootScope) {
      this.someMethod = function() {
        // some code ...
        if (someCondition) {
          $rootScope.$emit('someEvent');
        }
      }
    }
    
    function BarCtrl($scope, $rootScope) {
      var deregFn = $rootScope.$on('someEvent', function() {
        // some code ..
      };
    
      $scope.$on('$destroy', function() {
        deregFn();
      });
    }
    Ответ написан
    Комментировать