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

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

22 ответов

14 просмотров

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

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

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

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

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

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

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

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

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

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

Ihor-Levchenko Автор вопроса
Ihor Levchenko
Я, я же архитектор :)

А смысл?! Можно поподробнее?

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

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

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

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

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

это очень хороший вопрос. 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 или как его там... В данном случае старая архитектура должна оставаться на своем месте.

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

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

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

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

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта