• AngularJS добавление ng-controller и нового контроллера через определенное время спустя загрузки страницы?

    ozknemoy
    @ozknemoy
    яваскриптист
    лучше использовать компоненты. в зависимости от типа svg кидать через bindings внутрь компонента параметры. например
    html:
    <foto-editor
       foto-emit-callback="ctrl.setFotoUrl(id,url)"
       modal-parent-id="{{$ctrl.idCroppedImg}}"
       area-type='circle'
       foto-w='{{$ctrl.widthFromParentCtrl}}'
       foto-h='{{$ctrl.heightFromParentCtrl}}'
    >
    </foto-editor>
    
    js
    var fotoeditorComponent = {
        bindings: {
            fotoEmitCallback: '&',
            modalParentId: '@',
            fotoW: '@',
            fotoH: '@',
            areaType: '@?'
        },...
    };

    ну и лучше сразу не приучать себя к $scope. это уже лагаси код
    Ответ написан
    Комментировать
  • AngularJS: Контроллер директивы и синтаксиc "controller as" (вопросы по style guide)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Суть проста. Контроллер предоставляет данные, link мэпит данные на директиву (а как, через scope, темплейты, напрямую взаимодействуя с DOM - решать вам).

    То есть...

    angular.module('app',  [])
      .directive('fooBar', function () {
        
        return {
          restrict: 'EA',
          requires: 'fooBar',
          controller: controller,
          link: link
        };
          
        function controller() {
          var bars = [];
          
          this.getSomeData(someOption){
                return someValueOrPromise;
          }
          
          // do soome logic with data
          
        }
        
        function link(scope, el, attrs, ctrl) {
          ctrl.getSomeData(attrs.options).then(function (data) {
                // render data
          }
        }
      });


    Таким образом у вас работа с данными никак не зависит от способа вывода этих данных. Воспринимайте функцию link как слой представления.

    В случае с ngModel - если честно не могу предложить сходу варианты при котором контроллер должен иметь к нему доступ. Предложите пример если не сложно.
    Ответ написан
    3 комментария