Возможно ли 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 код бутстрапа не привязан к зонам (скоупу в первой версии) ангуляра. Это ведёт к рассинхронизации их работы (ангуляр не знает о коллбэках бутстрапа и коллбэк в бутстрапе не имеет доступа к данным контроллера ангуляра) и в некоторых случаях к невозможности совместной работы, особенно, если компоненты бутстрапа (табы, например) генерируются динамически.

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

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

Войти через центр авторизации
Похожие вопросы