169 похожих чатов

Может кто сталкивался.. как получить инстанс сервиса вне ангуляра?

22 ответов

33 просмотра

посмтри что нибудь подобное angular.element('*[ng-app]').injector().get('serviceName')

Ihor-Levchenko Автор вопроса
❤️❤️❤️
посмтри что нибудь подобное angular.element('*[ng...

спасибо за наводку, попробую я хотел делать вообще грязный хак.. в конструкторе сервиса делать присвоение globalMyService = this

Какой кейс то?

❤️❤️❤️
посмтри что нибудь подобное angular.element('*[ng...

Просто как факт - 🤯, это и есть изврат, который стоит вообще обходить стороной.. и на все есть либо сервисы, либо директивы... И уж точно направления из анги во внешний мир это грубое проведение.

Ihor-Levchenko Автор вопроса
🎋🎋🥷 ngxSamurai 🏯🎋🎋
Какой кейс то?

Да у меня просто Легаси на ангулярЖС, и новый функционал пишется на реакте. Просто есть пару сервисов в ангуляре связанные с авторизацией.. просто нужно переи их же использовать вне ангуляра. Но в общем выход я нашел

Ihor Levchenko
Да у меня просто Легаси на ангулярЖС, и новый функ...

лоол, у меня легаси на АнгулярЖС и функционал таки продолжается писатся на АнгулярЖС, хотя остальная часть приложения - на реакте)(((

Ihor-Levchenko Автор вопроса
Ihor-Levchenko Автор вопроса
🎋🎋🥷 ngxSamurai 🏯🎋🎋
А смысл?! Можно поподробнее?

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

Ihor Levchenko
Ну во первых ангулярЖС как бы уже все, не актуален...

Почему было принято решение перейти на реакт, а не на свелти, вуй и ангу10?

Ihor-Levchenko Автор вопроса
🎋🎋🥷 ngxSamurai 🏯🎋🎋
Почему было принято решение перейти на реакт, а не...

это очень хороший вопрос. vuejs - точно нет и даже по ряду причин: 1) потому что на vue2 писать новый проект не имеет смысла, он очень быстро станет deprecated + есть проблемы с тем чтобы качественно покрыть типами; 2) на vue3 писать еще слишком рано - сырой, и экосистема не готова, плюс.. интеграции - highcharts, echarts, тонна других оберток.. надо все педалить самому. angular 10 - в общем-то был бы хороший выбор, но если бы я начал переписывать куски на 10ом ангуляре и вставлять их контейнерами в существующее приложение - бандл был бы неведомых размеров, плюс ангуляр 10 очень сложный для конфигурации.. я имею ввиду, я вручную сконфигурировал вебпак конфиг для старого ангулярЖСа, и мне легко было рядом подложить пару трюков для *.tsx файлов чтобы рядом компилить в единый бандл реактовое приложение, в частности же все теги все равно превращаются в банальный document.createElement и это очень просто. Как это сделать с новым ангуляром - я понятия не имею, думаю, мне пришлось бы две недели заниматься R&D.. и в общем есть много вопросов. svelte - ну это игрушечная поделка без нормальных best practices, разве что экспериментальное что-то попедалить - да, но опять же много вопросов на счет интеграций с популярными графиками и другими модулями. react - идеально подходит для подобных извращений, сама по себе библиотека очень мелкая и достаточно гибкая, настраивается вебпак довольно легко, встраивается куда угодно, кушает мало, поведение предсказуемое, оборачивать реактовый компонент (особенно понимая что это createElement) довольно легко, включить JSX-синтаксический сахар для других файлов проще простого чтобы просто импортировать тот же компонент и обернуть его в ангуляровскую директиву. Ну а продолжать расширять кодовую базу на angularJS тоже не очень хорошая идея, ведь во-первых его уже никто не учит и это вызывает огромные проблемы даже года через 2-3 находить людей на поддержку даже. Можно влететь в некислые денежные потери однажды на переписывание всего приложения. Как-то так:)

Ihor Levchenko
это очень хороший вопрос. vuejs - точно нет и даже...

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

Ihor-Levchenko Автор вопроса
Viacheslav 🇺🇦 Boiko
Flutter

Ну флаттер ещё очень рано, а тем более для веба :)

Ihor-Levchenko Автор вопроса
Vladyslav Hrehul
Ну не знаю получилось бы вообще контейнерами встав...

Страница состоит из контейнеров (типа дашборда) И сейчас переписывается по очереди каждый контейнер, не вся страница целяком. Потому делать редиректы между new.domain.com/pageX и domain.com/page2X вызовет много сложностей... Потому пока отдельно контейнеры, а со времёнем (год плюс) мигрирует и весь проект

Ihor Levchenko
это очень хороший вопрос. vuejs - точно нет и даже...

Мы приняли решение пока продолжать саппортить нг1 дальше и по возможности скидывать на индусов, но в прошлом месяце все контракты почему-то свернули 😭 и теперь снова приходится пахать на нг1 и забывать нг10... параллельно мы пишем другой проект база которого совпадает с текущим проектом на нг10 и планировали перенести клиента на него, но тот пока добро не даёт... Плюс у нас ещё тяжелее ) мы ещё на галпе и на жс с примесью ес6 классов 😂🙈🤦‍♂

Ihor Levchenko
Ну флаттер ещё очень рано, а тем более для веба :)

Плюс надо ещё под него весь дизайн поменять/подогнать ) и в данном случае проще с нуля все делать

Ihor Levchenko
это очень хороший вопрос. vuejs - точно нет и даже...

Вуй и свелти я сразу выкинул, так как их будущее очень сомнительное, особенно в условиях короны... На реакт у нас никого нет на фирме с хорошей интерпрайз базой, и выбор нг10 как единственное решение никуда не продвинуло. Да, вес бандла - дело тонкое, но при сильном сжатии трафика (gzip/brotly/etc) и хттп2 даёт небольшое ускорение. Плюс обфускация и минификация кода сжимает по большей части все. И немного кэша на то что редко меняется помогает с загрузкой...

Vladyslav Hrehul
Ну не знаю получилось бы вообще контейнерами встав...

При миграции основная трабла это перепись некоторых кусков кода, который не поддается в нг10, остальное же решается с лёгкостью используя их ng-upgrade plugin или как его там... В данном случае старая архитектура должна оставаться на своем месте.

🎋🎋🥷 ngxSamurai 🏯🎋🎋
При миграции основная трабла это перепись некоторы...

" который не поддается в нг10" - да там лучше ничего не апдейтить. С 0 в новой анге начинать и все

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта