Aby bolo možné nechať element angular.element na jQuery namiesto jQLite, treba na hlave stránky načítať jQuery pred Angular.
Avšak z dôvodov výkonu (najmä namobilné zariadenia) by bolo pekné, keby bolo možné zaviesť jQuery po načítaní AngularJS. Knižnica jQuery je pomerne veľká, takže umožňuje "nad obsahom zloženia" závisieť od jQuery lite a nechá jQuery za asynchrónne zaťaženie po Angular, prináša zvýšenie výkonu.
Myslím, že by bolo možné, ak by Angular vystavil svoju funkciu bindJquery a jej objekt JQLitePrototype.
Akékoľvek nápady, ako to urobiť bez toho, aby ste sa dotkli uhlového jadra?
odpovede:
3 pre odpoveď č. 1Môžete manuálne rozšíriť prototyp JQLite po načítaní jQuery:
angular.extend(angular.element.prototype, jQuery.fn);
Avšak keďže toto nie je určené na použitiejQuery s uhlom môže spôsobiť nežiaduce problémy. Ale ak váš jediný zámer je rozšíriť angular.element s niektorými užitočnými metódami jQuery, malo by to byť v poriadku.
Skontrolujte demo nižšie a zistite, ako sú dostupné metódy jQuery angular.element
aj keď jQuery je načítaný po Angular.