Возможно ли Angular 2 использовать со сторонним кодом?

Хочу на сайте применить threejs и angular2. Учитывая, что angular забирает dom под себя и выстраивает событийную модель, как можно интегрировать сторонний js код в эту модель, чтобы не возникало конфликтов или каких задержек выполнения? Корректным ли будет писать threejs код в теплейтах angular или только через присоединение модулей?

p.s. Вопрос вызван примером bootstrap, который имеет свой отдельный модуль ngb, при этом js от bootstrap тоже работает... зачем тогда отдельный ngb?
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 2
ozknemoy
@ozknemoy
яваскриптист
лучшее решение это адаптер к ангулару. для threejs например этот https://github.com/amcdnl/ng2-three-demo
у бутстрапа есть моменты когда его обычная реализация перестает работать под ангуларом. например табы и модалки
Ответ написан
Комментировать
alexiusp
@alexiusp
senior frontend developer
Javascript код бутстрапа не привязан к зонам (скоупу в первой версии) ангуляра. Это ведёт к рассинхронизации их работы (ангуляр не знает о коллбэках бутстрапа и коллбэк в бутстрапе не имеет доступа к данным контроллера ангуляра) и в некоторых случаях к невозможности совместной работы, особенно, если компоненты бутстрапа (табы, например) генерируются динамически.

Для того, чтобы ангуляр "знал" о компонентах бутстрапа их заворачивают в "адаптеры". Подобные адаптеры есть и для большинства других популярных библиотек. Автор выше уже привёл пример подобного адаптера для интересующей вас библиотеки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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