N
привет всем. есть проблема
Rem1te
Что-то в пятницу все разактивничались :)
Anton
Ага
Igor
на формах есть свойство $error или $errors не помню точно, если не ошибаюсь, то возвращает массив ошибок на форме, дальше на инпуте ставишь нейм и у каждого элемента начиная с 0 будет нейм поля с невалидными данными и возвращаешься скролом к первому элементу массива
Ruslan
Потому что нужно с чистой совестью пить
N
как можно задать чтобы в input можно было ввести только слова, а не числа
Igor
и регулярку
Anton
Прверяй регуляркой
Rem1te
как можно задать чтобы в input можно было ввести только слова, а не числа
1 вариант директива 2 вариант обрабатывать кей пресс
Anton
Директива
Igor
может цели в яндекс.метрике посмотреть?
цели в яндекс.метрике, это пункт какой то? просто там есть вебвизор, крутая штука но на синглпейдж оно не работает.
Anonymous
вечная проблема spa
Anonymous
цели - это прям цели, в отчётах
N
спасибо
Igor
ну если не ошибаюсь на первой анге его нет
Igor
серверного рендеринга
Rem1te
потому что ssr нужен)
щас Вы человека настращаете он побежит ССР пилить :)
Rem1te
Я думалю Вам проще обработать ручками поведение то которое нжуно
Rem1te
благо ето не сложно
Rem1te
серверного рендеринга
да ладно, чем джаваскрипт в А1 отличаеться от джаваскрипта в А2 или реакта ?:)
Igor
хм, ладно, если не сложно, то не сложно) переведу таску на след неделю, изучу материал за выходные и буду что-то делать :)
Igor
да ладно, чем джаваскрипт в А1 отличаеться от джаваскрипта в А2 или реакта ?:)
то есть серверный рендеринг можно прикрутить везде?
Rem1te
то есть серверный рендеринг можно прикрутить везде?
Конечно, у тебя он что в браузере что в Node, выполняеться все на том же V8
Rem1te
А для любителей больших извращений Мы кастомный SPA, рендерили под V8 и отдавали через пыху
Igor
Туфта цели, GTM рулит
то есть для тех целей который поставил мне бизнес, нужно в сторону GMT смотреть?
Viktor
Скорее всего да, цели в метрике очень ограниченные
Viktor
Но GTM штука достаточно сложная
Rem1te
а разве в $errors у нас элемент?
нет, в еррорс у Вас имя поля
Sasha
Так оно, но по ссылке именно работа с элементом
Sasha
Вопрос был в том, как имея $errors.someField найти элемент
Rem1te
У Вас возникли трудности с получением DOM узла с помощью аттрибута ?
Sasha
Да, я потому что такие фундаментальные вещи плохо знаю. Я ж недавно в фуллстек перекатился)
Rem1te
let form = document.querySelector('#form'); let field = form.querySelector('[name="someField"]');
Sasha
Спасибо, то что надо
Rem1te
с помощью jQueryLite который я очень не люблю это делаеться так angular.element('[name="someField"]');
Rem1te
справедливости ради квери селектор быстрее
Rem1te
можно ещё использовать конечно document.getElementsByAttr
Rem1te
но ето на любителя
Sasha
Как раз у меня вопрос возник, до этого делал так: const container = angular.element(document.getElementById('scrollable-content')); const element = angular.element(document.getElementById(id)); container.scrollToElementAnimated(element);
Sasha
angular.element() вообще нужен ли?
Rem1te
Как раз у меня вопрос возник, до этого делал так: const container = angular.element(document.getElementById('scrollable-content')); const element = angular.element(document.getElementById(id)); container.scrollToElementAnimated(element);
Все зависит от целей которые Вы преследуете .element создает jQuery обертку над элементом что в большинстве случаев облегчает разработку потому что очень много методов для манипуляции с ДОМ, уже реализовано в этой библиотеке
Sasha
то есть angular.element - это жквери обертка?
Igor
мы на проекте используем smoothScroll, классная штука, в неё ты передаешь элемент и оно скролится
Rem1te
то есть angular.element - это жквери обертка?
Да, если быть конкретнее то JQueryLite
Sasha
потому что там есть анимашки
Igor
$anchorScroll Работает так же :)
его отдельно нужно инжектить, или это ангуляровское по дефолту?
Viktor
Вопрос был в том, как имея $errors.someField найти элемент
Лучше вообще от подобной практики уйти. Иначе зачем тогда вам ангуляр
Sasha
Лучше вообще от подобной практики уйти. Иначе зачем тогда вам ангуляр
Почему уйти? Вот представь себе форма, которая не вмещается в экран. Где-то внизу стоит required поле. Юзер нажимает save, но подсвеченного поля(красненьким required) он не видит в данный момент.
Viktor
В своих проектах допускаю подобное - только если вёрстка была сделана на jquery. И то обдумано, чтобы при переписке скриптов под ангуляр потом не пришлось переписывать проект.
Viktor
За остальное использование jq ругаю своих прогеров и заставляю переписать. Все задачи решаются без jquery.
Sasha
Это нормально, согласен, что нужно решать задачи без жквери, но конкретно в данном кейсе, что делать?
Rem1te
его отдельно нужно инжектить, или это ангуляровское по дефолту?
ну как и $timeout надо инжектить в деректику, но я не помню если честно может ли он скролить по Pixels или только по якорям
Sasha
Ну так и делаю) Вопрос же в поиске элемента по имени
Rem1te
В конце концов можно использовать window.scrollTo
Viktor
Учите js чистый, все получится
Rem1te
Учите js чистый, все получится
Сам не особо люблю jq но за счет его кроссплатформенности ето очень удобная либа
Igor
не совсем понимаю о чем холивар😂
Viktor
Ну и не забывайте работу с dom если без неё в некоторых редких случаях никуда писать в директивах только
Rem1te
Работать уже никто не хочет :)
Sasha
Давайте так, конкретику в студию. Как найти элемент по имени без жквери?
Igor
document.getElementByName
Sasha
Собственно так и делаю
Viktor
Он не для этого сделан...
Rem1te
Он не для этого сделан...
Не для того что бы работать с ДОМ ?:)