jQuery et AngularJS ne travaillent pas ensemble
Je suis à l'aide de RequireJS et Anguleux, mais ils ne travaillent pas ensemble dans mon jeu. Les choses fonctionnent bien, quand jQuery version 1.7.2. Cependant, je voulais l'utiliser jQuery 1.8.1 et jQuery UI et angulaire de l'application ne parvient pas à initialiser le principal de mon module avec cette.
Voici le problème:
Sensible à la casse variables: jQuery et jquery. En jquery 1.8.1 code source, vers la fin, ils ont défini fenêtre.jQuery. Où, comme dans les précédentes version 1.7.2 avait de la fenêtre.jquery défini.
Depuis que je veux utiliser jQuery UI dans mon app inclus le fichier jquery-ui-1.8.23.custom.min.js. Après avoir compris, j'ai eu l'erreur "jQuery" n'est pas défini.
Alors, j'ai décidé de mettre à jour ma version jQuery et téléchargé le dit version 1.8.1. Vers la fin de l'jQuery code source, j'ai pu voir que cette version fenêtre définie.jQuery (casse nécessaire par jQuery UI).
J'ai mis à jour mon besoin-jquery JS avec la dernière version de James Burke github du projet et mis à jour avec jquery 1.8.1.
Mais y compris la mise à jour jQuery/RequireJS projet, angularjs a cessé de fonctionner.
J'obtiens cette erreur dans la console Chromée:
Si je reviens à 1.7.2 angulaire œuvres. Ou si j'ai modifier le fichier jQuery pour définir la fenêtre.jquery à la place de la fenêtre.jQuery (note le cas), il fonctionne de nouveau. Mais cela signifie que jQuery UI ne sera pas.
source d'informationauteur Sameer Gupta
Vous devez vous connecter pour publier un commentaire.
À l'aide de jQuery noConflict est une méthode plus élégante et l'avenir de solution à ce problème.
Afficher une documentation complète sur l' http://api.jquery.com/jQuery.noConflict/
Mise à JOUR (par exemple à partir du lien):
Je fixe cette solution en retrait de la ligne de jQuery source qui fait $ et jQuery les variables globales. Cette ligne ressemble à quelque chose comme
window.jQuery = window.$ = jQuery
.Si vous utilisez également AngularJS avec RequireJS et sont confrontés à ce genre de problème, supprimez ces lignes.
En outre, vous aurez à utiliser jqueryui-amd dans votre projet. Télécharger l'utilitaire à partir de la page Github et il vous permet de convertir l'INTERFACE utilisateur de jQuery script pour AMD modules.
À l'aide de la AngularJS fonctionnalité appelée "directives" pour étendre les éléments HTML, j'ai pu utiliser jQuery UI composants réutilisables et sain d'esprit.
Je dois vous dire que j'ai détesté et aimé AngularJS, tout en travaillant sur mon projet, parfois même de permettre à tout le monde sur Twitter savent que je déteste AngularJS. Cependant, après avoir mis en place et a terminé deux projets au cours du dernier mois, j'ai une assez bonne idée sur quand utiliser et quand ne pas l'utiliser.
Ici est un jsFiddle j'ai créé pour démontrer l'utilisation de jQuery UI avec AngularJS:
http://jsfiddle.net/samunplugged/gMyfE/2/
Facilement corrigé cette après mes deux jours à essayer..
Lorsque vous essayez
Inclure le particulier Curseur Jquery fichiers à l'view.html directement. supprimer jquery à partir de index.html fichier