que diriez-vous d’utiliser Angular2 + JQuery ensemble?

J’utilise Angular2. Je voudrais implémenter un panneau de groupe pliable. Pour ce faire, il existe de nombreux exemples utilisant JQuery. Cependant, je voudrais l’implémenter en utilisant javascript original. Pour utiliser JQuery, je dois également importer la bibliothèque JQuery, ce qui pourrait entraîner un chargement supplémentaire. Je pense qu’il y a peut-être une manipulation du DOM dans mon développement futur également en plus du panneau de groupe. J’aimerais savoir ce qui est préférable d’utiliser javascript ou JQuery. Je sais qu’il y a un compromis entre eux. Dans le respect des performances, quelle voie serait recommandée. Utiliser Angular2 et JQuery ensemble est l’approche recommandée? S’il vous plaît donnez-moi un conseil.

Angular s’attend à maîsortingser le DOM et sa philosophie d’interaction entre la page et les données se mélange mal avec jQuery (dans jQuery, vous avez tendance à faire beaucoup de modifications directes dans DOM, tandis que dans Angular, le DOM est presque un effet secondaire. représentation des données de la scope; les modifications apscopes au DOM effectuées en dehors du chemin prévu par Angular peuvent disparaître lors du prochain condensé, ou peuvent écraser ou détruire des liaisons dont dépend Angular.)

Il est possible de manipuler le DOM séparément via jQuery, à condition de veiller soigneusement à ne pas interférer avec le cycle de vie angular – mais cela risque fortement de provoquer des erreurs, à moins que vous ne compreniez très bien le cycle de vie du DOM d’Angular et ce qui est dangereux ou non. changer. C’est rarement nécessaire; il est presque toujours préférable d’utiliser les propres outils d’Angular.

(Notez également que Angular inclut jqLite; la plupart du temps, la fonction jQuery que vous recherchez est déjà disponible sans qu’il soit nécessaire d’installer la bibliothèque complète.)

(Si vous devez utiliser jQuery, conservez-le dans la fonction afterViewInit Composants et ne tentez jamais, par exemple, de modifier les résultats d’un composant de l’intérieur d’un autre.)