Ответы пользователя по тегу Angular
  • Существует ли какая-то ionic версия графиков?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вам просто нужна библиотека для работы с графиками, которая поддерживает работу на мобильных устройствах. Никакой привязки к ionic.

    Лично я использую d3.js. Для него есть директивы под ангуляр: krispo.github.io/angular-nvd3/#
    Ответ написан
    Комментировать
  • Можно ли узнать количество элементов после фильтрации в Angularjs?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не используйте фильтрацию коллекций в шаблонах, готовьте данные в контроллере. Эта фича годится только для прототипов, в продакшене такое лучше не делать. Фильтры должны возвращать строки и быть максимально быстрыми. Опять же вы можете в контроллер инджектить фильтры (filterFilter в вашем случае)

    А ели у вас отфильтрованная коллекция есть в контроллере, то вывести ее длину вообще не проблема.
    Ответ написан
    2 комментария
  • Может ли Angularjs редиректить не на часть своего приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вы просто меняете window.location при "редиректе". Так что вы хоть на другой сайт можете отправить.
    Ответ написан
    Комментировать
  • Как улучшить производительность ng-options?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В IE9-11 страница грузится очень долго, можно ли это как-то оптимизировать.


    Какое это отношение имеет к ng-options? Если мы говорим о производительности, и список наш не меняется - то можно использовать one-time биндинги. Если меняется - то просто менять не сам массив а создавать новый, далее track by и так будет реюзать DOM.

    В целом у вас проблема не в том что ангуляр и ngOptions, а в том что у вас в IE9-11 выводится 200*9 DOM элементов тупо на список. Конечно же это будет тормозить немного. Альтернатива - отказаться от select и использовать какие-нибудь штуки с автокомплитом или селекты с виртуальным скролом.
    Ответ написан
    Комментировать
  • Как обрезать теги в строке json?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я бы рекомендовал делать это не в фильтрах (хотя и там можно конечно), а в сервисе, где вы получаете данные (или опять же фильтр там использовать).

    Убрать теги же лучше всего не регуляркой, как предлагает rakro, а используя DOM:

    function stripTags(html)
    {
        var tmp = document.createElement("DIV");
        tmp.innerHTML = html;
        
        return tmp.textContent || tmp.innerText;
    }
    Ответ написан
    Комментировать
  • Как в Angular проверить залогин ли пользователь?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    P.S. Ставить в ng-init и вообще в html статус залогинености на момент запроса, считаю костылем


    ng-init это вы о чем? Есть run у модулей, там такие проверки можно делать. Или в ресолвах роутера (что даже лучше).

    В целом же если вам нужна максимальная защита - то делаем обычную логин форму и отдаем html-ку с ангуляром только авторизованным чувакам. Токены всякие в этом случае через http-only куки.
    Ответ написан
    3 комментария
  • Когда создавать компонент, а когда директиву?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если в терминах API ангуляра...

    компоненты - это кастомные элементы с поведением
    директивы - декораторы для компонентов, грубо говоря атрибуты для элементов, расширяющие поведение оных.
    Ответ написан
    Комментировать
  • Можно ли написать full spa на angularjs?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Между монгой и angular всеравно что-то должно быть. Благо добавить мидлвэр с авторизацией черезй JWT какой между монгой и angular проблем не составляет. Ну и есть отдельные сервисы которые предоставляют такие штуки.
    Ответ написан
    Комментировать
  • Компоненты в Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    из родительского вызвать функцию, которая объявлена в контроллера дочернего компонента?


    Думать, где что-то пошло не так. Родительский компонент не должен ничего такого хотеть от своих детей. Все что он может - поменять данные которые он пробрасывает через биндинги. В этом случае достаточно просто сделать сеттер (через defineProperties или просто сеттер если вы используете babel) у контроллера дочерней директивы.
    Ответ написан
  • Почему не изменяются данные в родительской директиве?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    используйте ngClick для таких задач, и почитайте про $digest цикл.

    p.s. Раз уж вы только начинаете, почитайте
    Ответ написан
    2 комментария
  • Стоит ли переходить с Angular 1.x на React?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    добиться изоморфности на нем можно только через PhantomJS.


    Не только, если вы погуглите, там было масса попыток прикрутить virtualdom и т.д. но все это кастыли.

    они пихают контроллеры и модели прямо во вьюхи

    Там как бы... нет ни моделей ни контроллеров. Компоненты реакта это чисто view. Данные должны приходить туда извне.

    А если вы один их тех, кого сильно смущает наличие HTML в JS файле - ну... попробуйте как-то успокоиться и понять что важно, что есть разделение на шаблоны и логику, а то что все в одном файле - это детали. Лично я так и в Angular делаю и мне это кажется весьма удобным.

    это 500 кб кода + JQuery

    jQuery вам зачем? Там же virtual dom, jquery вообще не нужен. Ради HTTP? есть отдельные библиотечки. Опять же вы можете компоненты ангуляра второго использовать.

    На Angular 2 не смотрел, просто не успел, но слышал, что он тоже может server-render.


    Да может, более того проще чем с React (ну как минимум за счет того что все готово и заточено под инфраструктуру ангуляра, а реакт все готовят как хотят).

    еще смотрел Ember, но он мне кажется тем же Angular 1.x

    Ember пожалуй лучший из этой тройки, но вокруг него мало шумихи... а стало быть и комьюнити меньше, зато у них вообще нет никаких проблем с процессами и инфраструктурой.
    Ответ написан
    Комментировать
  • Angular 2 + SystemJS - почему так много реквестов и файлов?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А с чего вы взяли что "весь код этих файлов должен браться из angular2.dev.js"? Вы же system.js об этом ничего не сказали.

    Все что вы сделали - сказали "загрузи ка typescript/boot", а дальше уже зависимости начали грузиться. Читайте как бандлить скрипты.
    Ответ написан
    Комментировать
  • Правильно ли я расставляю приоритеты в развитии?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала, как говорится, определитесь с целями. Вы хотите больше интересных задач. При этом ваша специализация - верстка. Раз уж вы только только решили попробовать "gulp" и sass - предположу что с такими инструментами, как скажем autoprefixer вы так же не знакомы. И тем более webpack.

    Пока я могу заключить, что у вас слабым местом являются процессы, которые вы используете. Начать пожалуй можно с них. Возможно паралельно подтягивая английский (если мы пойдем дальше - читать надо будет тоже много, и много спрашивать), если вы ощущаете в этом необходимость.

    По процессам вам стоит ознакомиться с существующими методологиями в верстке. BEM, Css modules и т.д. Сейчас все популярные фреймворки (в том числе и angular) идут по сути реюзабельных компонентов, и подобных подходы к верстке зададут вам какую-то основу.

    Передт тем как учить фреймворки стоит определиться с целями. Если знания ангуляра вам нужны на уровне шаблонов - ну тут тогда можно просто почитать да попробовать в свободное время. Если же вас именно качественное понимание всего интересует, но перед фреймворками надо хорошо изучить javascript (и ознакомиться с текущим стандартом ES2015). И уже после этого можно приступать к фреймворкам.
    Ответ написан
    1 комментарий
  • Как динамически подключить директиву?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    нет, компонент вернхенго уровня должен же как-то это контролировать. И да, называться свойство должно хотя бы "uploadInProgress", что бы было понятно из контекста что это такое.

    p.s. тут лучше подходит ngIf
    Ответ написан
    9 комментариев
  • Лучший ресурс/книга/видеоуроки для изучения AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Дополню ответ bromzh

    лучший способ изучения


    Ограничивать себя и практиковаться.

    Ограничения даже могут быть искуственными, типа "никогда ни использовать $scope". То есть если хочется, лучше хорошенько подумать "а как без него?". Очень редко, его нужно использовать напрямую, но в подавляющем большинства это директивы и работа с событиями, в целом же на вашем уровне это может просто не понадобиться.

    Или там "никогда не используйте фильтры для работы с коллекциями, пусть результат фильтра всегда будет строкой". Это сразу сильно ограничит вас в том как убить свое приложение и превратить шаблоны в кашу, а так же чуть почистит мозги.

    Или... "Не полагаться на двустороннее связывание". То есть... оно увы в angular 1.x везде, но нужно понимать риски с этим связанные и стараться делать все так, что бы элементы нижнего уровня ничего не меняли на верхнем уровне, а все изменения проходили либо через колбэки или сервисы. Исключения - формы, тут двусторонний биндинг бывает очень полезным.

    Так же "Никогда не использовать ng-controller", или "Делать все на stateless компонентах" и все такое.

    Для всех этих правил есть свои исключения, но нужно 10 раз подумать можно ли соблюсти правило прежде чем его нарушить.

    Я так же собрал парочку толковых ссылок которые могут быть полезны новичку. Там так же пример ооочень простого приложения с тестами.

    Так же рекомендую сразу же изучить хотя бы основные плюшки ES6 с babel и использовать их. Таким образом можно сильно упростить структуру приложения.

    А ну и да, ТЕСТЫ! Пробуйте писать приложения используя TDD, это очень полезно для новичков и так же действует как ограничение. Типа "если неудобно писать тесты - подумай как сделать так что бы было удобно писать тесты изменяя тестируемый код". Ну и все такое. У TDD есть свои правила вроде "не меняйте тесты и код одновременно" и т.д.

    Новички должны быть в ежевых рукавицах.
    Ответ написан
    Комментировать
  • Какие существуют рецепты деплоймента веб-проекта на Go?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вопрос склеивания и минификации JS файлов


    Вы уже используете System.js, а стало быть можно использовать бандлеры на основе system.js: https://github.com/systemjs/builder

    Короче, я прошу совета, как довести это до ума.


    Собираем локально или на CI сервере в виде tar.gz архива, заходим на сервер и распаковываем.

    tar.gz можно заменить на deb/rpm пакеты, docker образы и все что угодно.
    Ответ написан
    2 комментария
  • Стоит ли изучать Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    И обнаружил, что большая часть функций, используемая в уроках, на данный момент не доступна.


    может стоит сменить источник информации? Может быть вы изучали Angular2 по урокам Angular1?

    По сути 98% всего что было в 1.0 все еще присутствует в 1.5 (и это немного напрягает, но обратная совместимость это очень важно)

    Может, есть смысл акцентировать внимание на Vue.js?

    Как хотите.
    Ответ написан
    Комментировать
  • Как добавлять массив объектов в ng-model из директивы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    тут не нужен ngModel. Но если хотите - читайте документацию о ngModelController, там есть все что нужно. В целом если не придираться к тому что используется $scope, Александр Аксентьев правильно вам подсказывает.
    Ответ написан
    2 комментария
  • Что изучить? Angular 2 или Ember 2?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    который, я учить не хочу


    TypeScript это текущий стандарт EcmaScript + реализованные драфты + информация о типах доступная на момент сборки проекта. То есть учить его и не нужно, это все тот же самый javascript. Если вы разберетесь с es2015 и драфтами из stage1 то вы знаете TypeScript.

    Angular и Ember - это огромные проекты потому для них важна информация о типах для более качественного статического анализа, а следовательно TypeScript идеальный вариант.

    Что перспективнее учить.. пожалуй Angular2 так как распространенность выше. Но разобравшись в Angular2 перейти на React или Ember будет не так уж сложно. Принципиальных различий у этих фреймворков не много и все развиваются примерно в одном направении.
    Ответ написан