Каково влияние, если мы используем плагины jquery в angular 7?

Я новичок в угловых. Некоторые форумы и руководства показывают, как интегрировать плагины jquery в angular. На самом деле есть много плагинов jquery. Я использовал много плагинов jquery в своих предыдущих проектах, которые были реализованы только в jquery. Поэтому я хотел бы получить это ощущение (цвета, пользовательский интерфейс, анимация...) в моем проекте angular 7. Но в середине меня беспокоит, что некоторые форумы говорят: «Не смешивайте плагины jquery с angular».

Итак, могу ли я импортировать плагины jquery внутри angular? Будет ли это проблемой? Например: Datatable имеет много функций там, где мне нужно больше всего. Jquery Confirm Master обеспечивает лучший пользовательский интерфейс. Также есть много вызовов API. Если мне нужно использовать такие плагины jquery, что я могу сделать?


person varman    schedule 03.02.2019    source источник
comment
Какова ваша причина использовать Angular в первую очередь, если вы собираетесь придерживаться Jquery? Войдите в это десятилетие и модернизируйте свои способности с помощью современной структуры.   -  person Jonas Praem    schedule 03.02.2019
comment
@JonasPraem Я новичок в angular, поэтому я хотел бы знать, возникнут ли у меня какие-либо проблемы, если я буду использовать плагины jquery в angular..   -  person varman    schedule 03.02.2019
comment
Если у вас есть время, научитесь делать это машинописи. Как только несколько концепций начнут щелкать, вам понравится. Личное мнение.   -  person Mathias    schedule 03.02.2019
comment
Насколько я знаю, вы можете использовать angular и jquery, пуристы действительно будут советовать против этого, поскольку jquery побеждает цель angular, напрямую манипулируя DOM, за который вы в основном хотите, чтобы angular отвечал (также плохая практика IMO). Некоторые плагины, которые вы упоминаете в своем вопросе, могут быть реализованы в angular без использования jquery.   -  person Jota.Toledo    schedule 03.02.2019
comment
Чтобы ответить на этот вопрос, нам нужно знать причину, по которой вы хотите использовать angular в первую очередь. Какие точки значения angular вы хотите использовать?   -  person Jonas Praem    schedule 03.02.2019
comment
В зависимости от вашего варианта использования вы можете сделать все эти настройки в Typescript   -  person Abhay    schedule 03.02.2019
comment
@JonasPraem Я не реализовывал никакой структуры, когда использовал jquery. Это время, когда я должен получить знания о трендовом фреймворке, работе SPA. Вот почему мне нужно больше разъяснений.   -  person varman    schedule 03.02.2019
comment
Мой личный совет: отойдите от jquery и никогда не оглядывайтесь назад.   -  person Jota.Toledo    schedule 03.02.2019


Ответы (1)


Есть несколько основных причин, по которым вам не следует обращаться к DOM напрямую в Angular (как вы делаете с Jquery). Я ответил на аналогичный вопрос здесь

Angular — это полноценный фреймворк, в котором вы не должны отличаться от «пути Angular». На это есть несколько причин. Во-первых, ваш код станет очень сложным в том, как он работает. Некоторые вещи, которые вы делаете в Jquery, очень отвратительны по сравнению с тем, насколько просто вы можете реализовать то же самое с Angular. Другая причина заключается в том, что приложения Angular не всегда предназначены для запуска в браузере. Например, вы можете запустить Angular в веб-воркере, у которого нет прямого доступа к DOM. Ваши компоненты станут зависимыми от Jquery, когда в этом нет необходимости, что может повредить вам, если вы захотите повторно использовать эти компоненты в других приложениях Angular.

Ваша ценность в том, что вы придерживаетесь Jquery, заключается в том, что вы можете повторно использовать этот код. На это я скажу, что вы должны переписать эти компоненты для своего приложения Angular, чтобы впоследствии вы могли повторно использовать эти компоненты в других приложениях Angular. Модернизируйте/перепишите свои компоненты сейчас, чтобы оптимизировать чистые компоненты Angular. Вы быстро обнаружите, что ваш код Jquery слишком сложен по сравнению с тем, как вы делаете аналогичные вещи в фреймворке Angular.

person Jonas Praem    schedule 03.02.2019