/ Как да използвате jQuery плъгините в AngularJS? - javascript, jquery, angularjs, jquery-plugins, angularjs-directive

Как да използвате jQuery плъгини в AngularJS? - javascript, jquery, angularjs, jquery-plugins, angularjs-directive

Използвам AngularJS 1.2 и се опитвам да включа приставка jQuery чрез ъглова директива. Като пример избрах приставка, наречена спектър, Не съм включил (и не искам да включвам) jQuery отделно, тъй като AngularJS се казва, че включва jqLite, по-малка версия на jQuery.

myDirs.directive("spectrumDir", function() {
return {
restrict: "A",
link: function(scope, element, attrs) {
angular.element(element).spectrum(scope.$eval(attrs.spectrumDir));
}
};
});

Въпреки това, когато се опитам да заредим приложението, получавам:

Uncaught ReferenceError: jQuery не е дефиниран spectrum.js: 1888 (анонимна функция)

Грешката произтича от инициализирането на приставката:

(function (window, $, undefined) {
…code…
})(window, jQuery);

Какво представлява генеричното решение за включването на jQuery плъгини в AngularJS? Има ли елегантен начин да се постигне това, без да се включва пълната библиотека jQuery?

AngularJS е снабден с буквено устройствоизпълнението на jQuery до като jqLite. За целите на Angular това е ефективно jQuery, макар и изключително изкормен. Създателите на ъгловата вярват jqLite API е достатъчно за почти всяко приложение, ако се използва правилно.

Отговори:

2 за отговор № 1

Както каза "Arun P Johny", трябва първо да включите jquery javascript и след това плъгина си, който зависи от jQuery


1 за отговор № 2

това, което искате да направите, е в плъгина или вместо (window, jQuery) за износ jqLite, който е angular.element. Така че (прозорец, ъглов елемент);

Или още по-лесно, преди да инициализирате ъгловото си приложение window.jQuery = прозорец $ = angular.element;

Като първият ред на js във вашия основен скрипт файл,ако плъгинът не използва никакви методи, които jqLite не покрива, имате късмет! В противен случай може би ще включим Zepto за лека алтернатива на jquery и в приставката за връщане (прозорец, Zepto);