Anton
Вопрос. Можно ли как-то расширить директиву Ангуляра ng-class?
Например, после того, как Angular выполнить свою исходную директиву, в моём расширении этой директивы я хочу получить все классы, которые могут примениться к элементу, как-то их проманипулировать и вернуть новые данные, чтобы уже они вставились в DOM — такое возможно?
krn
подход, честно говоря, попахивает
Anton
надо префиксер для классов, единственное что нашёл по запросу "ngclass prefix" не работает даже с описанием из readme, lol (и вообще не работает почти ни с чем, даже с тернарниками)
уже нашёл вариант написать директиву ngClass в дополнение к существующей и там с 1001-ым приоритетом через $watch следить и делать свои дела
Ruslan
Товарищи, приветствую! Путешествую тут с вопросом по чатикам
Ruslan
Есть спецы по первому ангуляру? Интересует опыт spa и nested views. Не могу добиться частичной перезагрузки после смены состояния в ui-router, оно либо полностью перезагружает, либо вообще не перезагружает. $state.go с параметром reload=true/false
Dmitriy
ребят всем привет
Dmitriy
как в ангуляре в контроллере сделать клик по элементу
Anton
ng-click
Dmitriy
еще раз , в контроллере а не во вьюхе
Dmitriy
у меня есть элемент и я хочу симитировать клик по нему в контоллере
Rem1te
$emit or $broadcast
Dmitriy
гуглю спасибо
Michael
Клик по нему вызывает обычно какую-то функцию
Michael
почему бы не вызвать просто эту функцию
Rem1te
Rem1te
Как вариант попробуй вызвать нативную имитацию клика но не факт что ангуляр на неё поведеться
Michael
вроде работает такое
Dmitriy
Dmitriy
перефразирую вопрос как вызвать событие которое происходит по клику на md-menu-backdrop ?)
Rem1te
Сейчас сємулировал через ваниловский click(), ангуляр обработал как обычный экшн на ng-click
Michael
А где дока по этому компоненту или директиве
Michael
не могу найти
Rem1te
Как обрабатываеться поведение в вашем компоненте вы можете посмотреть в сорсах, в любом случае все сводиться к какому не будь ng-click="calback()"
Dmitriy
https://material.angularjs.org/latest/api/directive/mdMenu
Rem1te
вам остаеться только найти елемент
Michael
md-menu-backdrop
Michael
Такой штуки там нет)
Michael
backdrop
Michael
$mdMenu.close()
Michael
Если это просто меню, то вот так же должно работать
Dmitriy
когда просто меню да работает
Dmitriy
но мне еще нужно и подменю скрывать
Michael
А так оно скрывает, а подменю открыто?
Michael
а у тебя какая структура?
Md-menu
md-menu ?
Dmitriy
ага
Dmitriy
md-menu > md-menu > md-menu
Dmitriy
rfr nj djn nfr
Dmitriy
как то вот так
Michael
Нашел такое https://plnkr.co/edit/KssNGRhyLRbRzEN59P4C?p=preview
Michael
и тут они вешают #subMenu
Michael
может через него достучаться
Michael
а вообще вот angular.element('#myselector').triggerHandler('click');
Dmitriy
попробую спасибо
Dmitriy
a есть ли в ангуляр материале какой то инструмент чтобы закрыть все открытые меню ?
Sasha
Пагни, вы где токен передаёте в вебсокет соединении?
Rem1te
Смотря с какой целью ты используешь токен в вс, если для сессий то я думаю можно передавать первым телом при коннекте
Для авторизации можешь использовать такой формат new WebSocket("ws://username:password@example.com")
Sasha
Rem1te
у веб сокетов нету хттп-шных заголовков
Rem1te
но ето не точно -_-
Rem1te
в любом случае через джс ты к ним не достучишся
Sasha
Заголовки-то есть, но вот как засунуть из ангуляра токен в заголовок...
Пока непонятно на самом деле, еще копаюсь в либах для вебсокетов. Вроде как конструктор new WebSocket() позволяет добавить хэдеры
Anton
Что будешь делать, когда токен протухнет?
Rem1te
Rem1te
Rem1te
Но что такие эти подпротоколы пока не ясно
Sasha
А он кстати прав, думаю, стоит отправлять токен каждый раз в теле, чтобы каждый раз проверять
Rem1te
Sasha
Чтобы проверить аутентификацию например, достать айдишник юзера и прочее
Rem1te
можно как вариант делать обычный хттп запрос с токеном, получать в подтверждение айди, открывать вс
Когда изменили пароль, протух токен, со стороны сервера закрыть коннект
Anton
А если в этот момент что-то важное придет по вс?
Rem1te
Но на самом деле все очень индивидуально
Anton
А если токен не бессрочный, и пароль не менялся?
Sasha
Да, тут кейс такой, что токен может просто протухнуть во время коннекта. В таком случае, мы же легко можем действительно на бэкенде чекать токен на каждую итерацию. Решается по сути обычным декоратором.
Rem1te
Сообщить на клиент что пора обновлять токен
Механизмом обновить токен
Продлить соединение
Sasha
Угу
Sergei
Здравствуйте. подскажите как правильно организовать следующий модуль:
есть кнопка, которая показывает модальное окно, в котором форма, которая отправляется посредствам $http.post(...). Сейчас у меня это работает так: контроллер кнопки, контроллер модали и контроллер формы. Но кажеться что для такого простого действия слишком много писанины, к тому же форма не содержит инпутов, и два параметра (url и produt_id) инициализируются через шаблон.
Ruslan
#whois Работаю над множеством проектов на аутсорсе (в компании), фигачу на python/stylus/angularjs, из Питера, товарищ из смежных чатиков притащил.
Rem1te
Sergei
а могу я использовать родительский контроллер в качестве контроллера модали?
Sergei
да я только за. сейчас вот врублюсь как получить $uibModalInstance в родительском контроллере
Sergei
спасибо за совет, все получилось
Sergei
а здесь кто-нибуть работал с django-angular ?
Ruslan
Не советую
Ruslan
Лично я предпочитаю drf + angular, без диких миксов
Ruslan
Все таки angular для spa, что ломается django-angular
Sergei
ну drf никто не отменяет, а вот совместное использование шаблонов может запутать. вобщем то я и хотел спросить как те кто работает с djng собирают свой фронтэнд на продакшне
Sergei
потому что пока разрабатываешь, твои django-компоненты имеют свои angular-компоненты (при необходимости) которые подключатюся через sezikai