Задать вопрос
Ответы пользователя по тегу Angular
  • Какой фреймворк для JavaScript MDI приложения лучше?

    AMar4enko
    @AMar4enko
    ExtJS или Dojo, правда первый бесплатный только для OpenSource
    Ответ написан
  • Как избавиться от зависимых запросов?

    AMar4enko
    @AMar4enko
    Вам уже правильно сказали, что надо сделать отдельный API-метод для этой ситуации. По-сути это REST-метод получения коллекции с фильтром.
    В качестве фильтра у вас будут выступать город и категория.
    Для города и категории у вас хранится alias и id, с фронта вам прилетает alias.
    Вы проверяете, есть ли у вас в кеше сохраненные id для переданных алиасов города и категории. Если нет, то строите большой запрос с джойнами, который фильтрует по альясам. В результате выполнения вы помимо информации по музеям получите id города и категории, которые вы кладете в кеш. Последующие запросы возьмут id из кеша и запрос будет к одной таблице без джойнов с фильтром по конкретным id.
    Ответ написан
    Комментировать
  • JavaScript фреймфорк + права пользователей + интерфейс

    AMar4enko
    @AMar4enko
    Если поразмыслить, то мало скрывать-показывать элементы - для этого можно использовать, как вы правильно сказали, rootScope + директивы (ng-if, ng-hide).
    Нужно еще ведь и отдачу данных ограничить - обычный пользователь не должен получать от сервера данные, которые не может видеть.
    Т.е. недостаточно, на мой взгляд, просто скрыть колонку в таблице, если данные для этой колонки все равно прилетают с сервера.
    Ответ написан
  • Как в AngularJS сделать добавление директив "на лету"?

    AMar4enko
    @AMar4enko Автор вопроса
    Разобрался. Если кому интересно:
    Дело было, на самом деле, во внутренностях ангуляра, а точнее в том, что он при компиляции ноды принудительно проверяет наличие некоторых атрибутов, и делает для их содержимого $scope.$watch, внутри которого делает attrs.$set.
    Так как я добавлял ngRequired после компиляции ноды, то мне надо было просто сделать что-то типа:
    $scope.$watch(attrs.formControl + ".required('" + (element.attr('name')) + "')", function(value){
        attrs.$set("required", !!value)
     });

    А ngRequired, как показано выше, отслеживает значение атрибута required и обновляет валидацию.
    Ответ написан
    Комментировать