2017-01-24 2 views
0

Я использую Angular2. Я хотел бы реализовать групповую панель. Для этого существует множество примеров использования JQuery. Тем не менее, я хотел бы реализовать его с помощью оригинального javascript. Чтобы использовать JQuery, мне нужно также импортировать библиотеку JQuery, которая может вызвать некоторую дополнительную загрузку. Я думаю, что в моей будущей разработке могут быть некоторые манипуляции с DOM, кроме группы. Я хотел бы знать, что лучше использовать javascript или JQuery. Я знаю, что между ними есть компромисс. Что касается производительности, то какой вариант будет рекомендован. Рекомендуется использовать Angular2 и JQuery вместе? Пожалуйста, дайте мне совет.Как насчет использования Angular2 + JQuery вместе?

+3

Возможный дубликат [Как использовать jQuery с Angular2?] (http://stackoverflow.com/questions/30623825/how-to-use-jquery-with-angular2) – muetzerich

+0

Это ужасный подход. Не делай этого. –

+0

Нет, это не вопрос о том, как использовать Angular2 + JQuery вместе. Это вопрос о том, является ли это общим и хорошим подходом в целом? –

ответ

4

Угловой ожидает контроля над DOM, и его философия о том, как страница и данные взаимодействуют плохо с jQuery (в jQuery вы, как правило, делаете много прямых модификаций DOM, в то время как в Angular DOM почти представление побочных эффектов данных области, модификации DOM, выполненные вне ожидаемого пути Углового, могут быть удалены на следующем дайджесте или могут перезаписать или уничтожить привязки, от которых зависит Угловая.)

Манипулирование DOM отдельно через jQuery возможно, если вы используете большую осторожность, чтобы не вмешиваться в Угловой жизненный цикл, - но он очень подвержен ошибкам, если у вас нет очень сильного понимания жизненного цикла DOM от Angular и того, что есть и чего нет безопасный для изменения. Это редко необходимо; почти всегда лучше использовать собственные инструменты Angular.

(Также отметим, что Угловая включает jqLite, большую часть времени функция JQuery вы ищете уже доступны без необходимости устанавливать полную библиотеку.)

(Если вы должны использовать JQuery, держать в функции конкретных компонентов afterViewInit и никогда не пытайтесь, например, модифицировать результаты одного компонента из другого.)

+0

Большое вам спасибо за ваше любезное объяснение !! –