pa[aad
выучить тайпскрипт и разобраться в ангуляре 5 менее затратно по времени чем реакт или вью?
это тебе решать, я сейчас не скажу так, для меня типа перейти на какой-то стек не проблема
pa[aad
на сервере ноду использую
NextJS это и есть nodejs
pa[aad
ты хоть почитай
Maksym
ребята, привет, нужна подсказка Строю компонент таблички для проекта и нужно принять решение по рендерингу ячеек. $interpolate или $compile В пользу скорости использую $interpolate, но как бысть с директивами (ng-if и тд)? если компайл то ему нужен скоуп, там и вочеры со всеми вытекающими - я только при апдейте данных прогоняю через interpolate и складываю результат в мап, скорость важна поделитесь плиз мыслями на эту тему, кто как делал сложные таблички (полей много шаблоны ячеек тоже не простые), нужен режим редактирования в будущем, работа по принципу екселя
Sergey
Я может глупость скажу, но virtualscroll, one-way bindings, не? Правда <table> тогда выпиливать придётся наверное, свой грид пилить
Maksym
one-way (time?) bindings только со стороны темплейта? Можно его форсить при линкке $compile(tpl) ?
Sergey
Не знаю, compile не использовал.
Sergey
Не уверен что правильно понимаю что вы вообще делаете)
Maksym
у меня есть компонент my-table, принимает объект конфига, где одно из полей список колонок, у каждой свой темплейт вот на моменте рендеринга этого темплейта и вопрос. С interpolate все ок, но в шаблонах надо обрабатывать и директивы, хотелось бы без вочей через ивент луп - все руками контролировать
Sergey
А я про то что биндинг ячейки через <, и перерисовка только по $onChanged. Сам я правда на очень сложных шаблонах такого не пробовал, так, размышления на тему.
Sergey
Может я слишком зашоренно мыслю, не знаю)
Maksym
требования не вписываются в существующие и кастомизация тех же ui-grid/ag-grid занимает намного больше времени, результат так себе (харкодные тейблы намного лучше себя ведут в проекте)
Sergey
Кстати вспомнил про один могильничек где это дело можно бы опробовать, спасибо)
Maksym
без $compile не смог решить, таки там все это (директивы) происходит и нужен скоуп. Не знаю насколько это правильно, но заставить это работать смог через словарь дом объектов (которые отдает функция от $compile), которые потом в нг репите передаются директиве, где и апплается в дом
Maksym
Какие есть смособы отключить вочеры (one time binding) на весь скоуп/темплейт кроме :: в шаблоне? может какой-то флаг в скоупе или в $compile?
Maksym
скоуп я создаю руками при генерации шаблонов (через new rootscope) и сразу передаю в линк. Потом этот результат аппендится в специально для этого директиве, где только element.append($scope.этот_шаблон) есть смысл всем шаблонам явно указывать :: ?
Maksym
кстати это мой следующий вопрос) как профайлить?) пару кивордов если можно
Stas
Почитай кстати тот же стайлгайд Джона Папы, ну в котором был этот ишью про директивы вс нгинклуд, если ещё не читал)
Знаешь что я заметил, специально сидел проверял, каждая созданная директива удлинняет время загрузки. Я избавился от 3х незначительных директив, которые больше были просто что б были, типа пейдж хедера в котором ничего нет, скорость загрузки с 1.5сек упала до 1 сек
Sergey
Если первая загрузка, то посмотри в сторону пересоздания templateCache при сборке, может поможет
Stas
Если первая загрузка, то посмотри в сторону пересоздания templateCache при сборке, может поможет
а 1 секунда это разве много? учитывая что последние 20% это идёт отдача шрифтов бутстрэпа
Sergey
Да не, я не говорил много, я просто, что если борьба идёт за время загрузки, есть способ ещё немного ускориться
Stas
Может кто посоветовать хороший русскоязычный (или с возможностью поставить русские названия) дэйт пикер для энгулар джс или бутстрэп 3?
Nickolay
Русские названия чего месяцев? Я использовал вот это https://angular-ui.github.io/bootstrap/ Потом подлючаешь интернационализацию для ангуляра как пример: https://stackoverflow.com/questions/19671887/angularjs-angular-ui-bootstrap-changing-language-used-by-the-datepicker. Получаешь жуть с именами месяцев, перепиливаешь инернализацию, чувствуешь что интрфейс у дейтпикера жуть и его тоже перепиливаешь. Может есть более готовые решения.
Stas
и его адаптирование http://bootstrap-datepicker.readthedocs.io/en/latest/i18n.html
Nickolay
Да ты спрашивал на jQuery или все таки на Angular?
Stas
Да ты спрашивал на jQuery или все таки на Angular?
вот облом, я не обратил внимания, увидел бутстрэп, джейквери там в любом случае подключается, а вот как обрабатывать данные не глянул
Nickolay
Ты тут ng-model навешаешь и придется адаптировать это под jQuery datepicker, свою директиву писать которая контроллер ng-model требует. То что я тебе скинул уже готовые директивы. Но придется немного продпилить, если красоты хочешь.
Stas
я думал типа от бутстрэп идёт штмл и перекликивания туда сюда)
Nickolay
Че?
Stas
Че?
да забей, я не внимательно просмотрел, то, что нашёл
Андрей
Ребят, а есть возможность сделать приватный провайдер для компонента?
Андрей
чтобы у каждого повторяющегося компонента на странице был свой уникальный провайдер с своим набором данных
Denis
ну только если его прокидывать через биндинги
Denis
и в parent компоненте его инициализировать
pa[aad
Ребят, а есть возможность сделать приватный провайдер для компонента?
если ты про сервисы, типа что бы не был сервис singleton, то нифига не выйдет
Sergey
А factory? Создавай инстанс как захочешь. Но меня смущает словой провайдер
Sergey
https://stackoverflow.com/a/31106103
Sergey
Ну вот тут примерно что-то такое
Sergey
Только клиент должен явно запрсить что он хочет
kdm🇩🇰
@DenisIzmaylov
Андрей
https://stackoverflow.com/a/31106103
wow, судя по всему, то что нужно
Андрей
Спасибо!
Stas
Ребят, может кто подсказать по вёрстке. Есть элемент li, которому нужно задать высоту по внутреннему контенту. В фаерфоксе высота по контенту никак не ставится, в хроме и опере всё работает. max-height:100%, height: max-content, в фаерфоксе пробовал через -moz-, не помогает...
Stas
а как так получилось, что контейнер не чувствует содержимое?
Не понял вопроса, точнее не знаю как так получилось)
Stas
а как так получилось, что контейнер не чувствует содержимое?
понял, из за флекса, но это не решило мне проблему)
Stas
Скинь хоть демку, так как по вопросу ничего непонятно
та уже кое как поставил затычку для мазилы, нашёл кстати интересную штуку display: contents, которая тоже решала мою проблему, но у неё поддержка в браузерах слабоватая
Nickolay
Берешь правишь файл интернализации
Nickolay
на соращенное именование месяцев,
Nickolay
в директеве устанавливаешь форматов месяцев как сокращенный
Stas
там есть проблема тоже, сокращённо будет например авг, сен и вылезет мая, поищу как выставить что б небыло привязки к дню
Максим
Ребят, все сломалось!!! Error: $rootScope:infdig Infinite $digest Loop
Максим
что за фигня может быть??
Максим
pa[aad
Ребят, все сломалось!!! Error: $rootScope:infdig Infinite $digest Loop
что все ? где ? и после чего ? гуглили свою ошибку прежде чем писать сюда ?
pa[aad
ошибка гуглится
Максим
что все ? где ? и после чего ? гуглили свою ошибку прежде чем писать сюда ?
Сайт просто боевой.. Ничего не менял 100%, уже более месяца как ничего не трогал..
pa[aad
Сайт просто боевой.. Ничего не менял 100%, уже более месяца как ничего не трогал..
знаешь я тоже так говорил, но оказывается просто так ничег о не может быть
kdm🇩🇰
Сайт просто боевой.. Ничего не менял 100%, уже более месяца как ничего не трогал..
The problem that you were having was that you were setting a field on the scope, which implicitly calls $digest and lays out the template again. But, laying out the template makes the http request again, and then changes the scope, which calls $digest. And that is the infinite loop.
Максим
Да реал говорю)) 200% ничего не трогал за последний месяц.. от слова совсем
pa[aad
загугли свою ошибку
pa[aad
может обновились пакеты npm у вас
kdm🇩🇰
Да реал говорю)) 200% ничего не трогал за последний месяц.. от слова совсем
значит ты что-то упустил и нашел эту ошибку спустя месяцы)
pa[aad
Да реал говорю)) 200% ничего не трогал за последний месяц.. от слова совсем
вы подключали систему трекинга ошибок ? sentry ? там бы нашли более подробные шаги от чего произошла такая ошибка
pa[aad
как так у вас прод, а вы надеетесь что ошибок не будет ? или пользователи сами будут сообщать вам об ошибках ?)
Максим
как так у вас прод, а вы надеетесь что ошибок не будет ? или пользователи сами будут сообщать вам об ошибках ?)
обычно так и происходит))) пользователи звонят и говорят, ололо, всё сломалось.. а тут я пришел сегодня пораньше и сказали добавить плюшку.. захожу, а там ....
Максим
а это не может быть от того, что ip адреса гугла блокируют? я честно даже не знаю что тут через CDN было подключено.. проект по наследству перешел
Максим
10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: [[{"msg":"fn: watchExpression","newVal":[null,null],"oldVal":[null,null]},{"msg":"fn: watchExpression","newVal":[null,null,null,null,null,null],"oldVal":[null,null,null,null,null,null]}],[{"msg":"fn: watchExpression","newVal":[null,null],"oldVal":[null,null]},{"msg":"fn: watchExpression","newVal":[null,null,null,null,null,null],"oldVal":[null,null,null,null,null,null]}],[{"msg":"fn: watchExpression","newVal":[null,null],"oldVal":[null,null]},{"msg":"fn: watchExpression","newVal":[null,null,null,null,null,null],"oldVal":[null,null,null,null,null,null]}],[{"msg":"fn: watchExpression","newVal":[null,null],"oldVal":[null,null]},{"msg":"fn: watchExpression","newVal":[null,null,null,null,null,null],"oldVal":[null,null,null,null,null,null]}],[{"msg":"fn: watchExpression","newVal":[null,null],"oldVal":[null,null]},{"msg":"fn: watchExpression","newVal":[null,null,null,null,null,null],"oldVal":[null,null,null,null,null,null]}]]
pa[aad
циклический дайджест