Sasha
Я кстати сегодня ковырял webrtc. Огонь, видеочатик в браузере за день
Anonymous
Вопрос к телепатам. Есть 2 проекта, на одном из них прикручен angular-ui-notification. Пытаюсь припилить его к другому проекту, подключаю идентично первому, и - привет $injector:modulerr
Anonymous
т.е. в app.js, в контроллере либа подключена
Anonymous
установлена в зависимостях, кэши почищены, package-lock снесён и после этого ещё одна чистая установка была
Nikolai
Нет бутсрапа
Anonymous
есть)
Nikolai
В депенденсах не указал
Anonymous
указывал
Nikolai
Тогда доктор нужен
Anonymous
пробовал и в package.json от npm, и в bower.json
Anonymous
Доктор сказал, что я забыл подключить в index.html исходник из dist папки
Anonymous
пора на выходные 👍
Nikolai
Должно в сборщике быть
Nikolai
Либы тоже надо собирать же
Anonymous
Да, есть такое
Anonymous
Сборщик пока не прикручен
Anonymous
На втором
Anonymous
Поэтому и тупняк
Sasha
Такой кейс: Есть директива, которая взаимодействует с $transitions(это на самом деле не так важно) При смене стейта, запоминаем положение скролла, это работает: const container = angular.element(document.getElementById('scrollable-content')); container.bind('scroll', function () { scrollPos = this.scrollTop; });Но потом, когда переключаем стейт, но проскролить до этой же позиции, почему-то не робит. Делаю так: $log.debug(scrollPos) <- Все верно, позиция нужная container.scrollTop(0, scrollPos);Просто почему-то не скролит
Nikolai
container.scrollTop = scrollPos
Nikolai
http://jsfiddle.net/AgLyU/
Nikolai
+ возможно ты вызываешь скрол, когда див ещё не отрендерился. Можно попробовать сделать $timeout(()=> {container.scrollTop(0, scrollPos);});
Sasha
+ возможно ты вызываешь скрол, когда див ещё не отрендерился. Можно попробовать сделать $timeout(()=> {container.scrollTop(0, scrollPos);});
+ Проблема точно в этом. В общем, там переключение между формочками, у который стоит ng-hide, пока инфа не загрузится. (анимация прост такая) Но все запросы успевают выполняться до скролла, есть глобальный пул промисов, но видимо формочка и правда не успевает отрендерится. Сейчас чекну с таймаутом
Александр
Возможно, во втором случае у тебя container - это ссылка на удаленный див
Александр
Попробуй заново по селектору найти
Nikolai
вроде бы таймаут без указания времени должен запускать код после отрисовки html
Sasha
Возможно, во втором случае у тебя container - это ссылка на удаленный див
точно нет, там грубо говоря такая схема: <md-content id="scrollable-content"> <div ui-view flex layout="column" scroll > <!----тут форма с ng-hide> </div> </md-content>Более того, show/hide не удаляет же из дома
Александр
А, тогда да
Sasha
Кстати, жквери вообще нужен для scrollTop?
Nikolai
Sasha
Да, я глянул, но почему-то все равно не робит
Sasha
Даже с таймаутом
Nikolai
а поставь таймаут на секунду
Sasha
Попробую
Sasha
Проблема кстати точно в show/hide. Потому что когда убираю - то он нормально прокручивает на любую позицию
Sasha
Да, с большим таймаутом работает
Sasha
Но хардкодить, не дело жеж вроде
Sasha
В общем, я придумал, как норм сделать. Спасибо всем
Nikolai
нет расскажи
Sasha
Да я просто подцепился к промису, который резолвит этот ng-hide.
Sasha
И просто в коллбэке сделал таймаут без параметров
Sasha
Все робит
Nikolai
а что за промис ng-hide?
Sasha
В общем смотри, есть разные записи одной модели. Между ними можно переключаться туда-сюда. Имеется ввиду к следующей записи или к предыдущей. Это все - формы, которые прогружаются и пока данные не загрузятся(а там ооочень много бизнес логики) скрыты ng-hide, потом срабатывает анимация. Есть определенный пул запросов к форме и когда потом в коллбеке Promise.all([]) всех этих запросов мы показываем форму. Этот промис алл находится в сервисе в переменной, я просто заимпортил сервис и поставил перемотку в resolve этих всех промисов
Anton
Тут не хант чат. Если у вас крутой проект к вам прийдут и так! Извините.
Viktor
ну вообще то я поддерживаю таких ребят, как Иван, потому что надо кидать везде особенно в узкотематических, т.е. не все ребята сидят на том же js jobs и т.д.)
Jared
Сайт вроде на английском, но при этом на ломанном... P.S. Я без претензий, если что, просто глаз режет
Viktor
Привет, как передать клик с контроллера 1 компонента в контроллер 2? Emit, broadcast юзать или не туда? Спасибо.
Nikolai
передавай модель
Viktor
А как?
Sasha
передавай модель
Это как кстати? Я обычно через сервис взаимодействую.
Viktor
Спасибо
Amirkaaa
Доброго времени суток, возникли сложности, кто нибудь подключал sentry.io на angularjs ?
Amirkaaa
Кто сможет помочь ? Вроде бы все сделал как по документации, но уведомления так и не приходят. Или я где-то тупанул
Anton
Такой вопрос. У меня есть директива-элемент, в которую я цепляю factory. В директиве идёт обработчик, который говорит сделать в factory какое-то действие. Если я цепляю на странице два элемента-директивы, то действие в factory выполняется только во второй директиве. Можно как-то изолировать factory для каждой отдельной директивы?
Bendyrko
@Djinjs если они в одной структуре то можно и Emit, broadcast юзать, если в разных то через $root.broadcast $root.emit
krn
норот, всем привет абстрактный случай есть элементы parent и child, на каждом висит клик, один вложен в другой можно ли кликнуть на чайлда не инициируя клика по паренту? ( что касается ангуляра - stopPropagation в. чайлдклик не помогает)
Sasha
Это хтмл5, экшен не должен быть в экшене
Bendyrko
@kronosx2 может stopImmediatePropagation() поможет
krn
оно и в первом ангуляре тоже есть ?
Bendyrko
ну да https://docs.angularjs.org/guide/expression#-event-
Иван
Кто-нибудь задумывался над использованием rxjs (не путатать с ngrx) в ангуляре1? Мне вот сегодня набросили и меня не отпускает мысли. Как не странно думаю над его использованием на уровне сервисов, а не вью-контроллер (там ангуляровский биндинг справляется). А вот на уровне сервисов "реактивности" не хватает и приходится городить свои велосипеды паб-саб. Да и ангуляр2+ пошёл по этому пути, насколько я понимаю, что вроде как намекает, что не самое плохое решение...
Алексей
А переезжаете на второй?
Иван
А переезжаете на второй?
в неопределённом будущем, в свободное от работы время 😉
Иван
Мы используем в старом коде AngularJs. Очень круто работать с поиском (denounce, race conditions, etc)
используете rx.angular.js https://github.com/Reactive-Extensions/rx.angular.js/ или прям чистый импорт RxJS https://github.com/Reactive-Extensions/RxJS ? или есть ещё какие удобные обёртки?
Алексей
5ый только. Ибо мы на Typescript
Иван
Мы используем в старом коде AngularJs. Очень круто работать с поиском (denounce, race conditions, etc)
и как оно со всей этой своей псевдо-асинхронностью укладывается в дайджест-цикл ангуляра? например, если я подпишусь контроллером на обсёрвебл сервиса, как оно это всё месте заживёт $scope.$apply/$digest? понятное дело, что нужно самому всё пробовать, то хотелось бы предугадать количество подводных камней и мягкость ручек от граблей...
Иван
А переезжаете на второй?
а вот этот вопрос к чему был? желание использовать rxjs будет подспорьем или неудобством при дальнейшем гипотетическом перезде?
Алексей
а вот этот вопрос к чему был? желание использовать rxjs будет подспорьем или неудобством при дальнейшем гипотетическом перезде?
Ну мы переезжаем поэтому для нас RxJS - вполне логичный выбор (но я лично ярый фанат поэтому всех зомбирую отказыватся от Promise, async, await в пользу Observable)
Алексей
А про второй - просто так. Тоже зобмирую людей чтобы переходили на него. А так во втором можно жить и с промисами.
Eugene
Может тогда и урок для глупых подкините ?:)
Иван
Может тогда и урок для глупых подкините ?:)
урок о чём? Reactive Extensions сто лет в обед (как недавно выяснилось). в интеренете достаточно статей и видео на эту тему