Як користуватися бібліотекою jquery в Magento 2?


26

Я створюю тему Magento, куди мені потрібно включити jQuery.

Коли я додаю це <link src="js/jquery-1.7.1.js"/>в head. Він працює, але функції JavaScript Magento не працюють. Як використовувати вбудовану в бібліотеку jQuery Magento 2 на власну тему?


jquery вже додано до м2. Якщо вам потрібен jquery у вашому користувальницькому файлі phtml, тоді використовуйте його по zahtjev.js
Shaheer Ali

так, я знаю, що я хочу використовувати в користувальницькій темі .. У мене є файл, який залежить від бібліотеки jquery.
Qaisar Satti

1
використання вимагають (['jquery', 'jquery / ui'], функція ($) {}
Shaheer Ali

Ви можете додати extrnal js за допомогою <script src = "[Vendor_Ext] :: js / custom.js" />
Shaheer Ali

З якого часу ви включаєте js за linkтегом ??? Ви повинні використовувати тег сценарію
Чорний

Відповіді:


52

Якщо ви додаєте власну бібліотеку js, відмінну від jQuery, вам потрібно включити код js всередину, потрібна така функція, як:

 require(['jquery', 'jquery/ui'], function($){ 
     //your js code here  
 });

Приклади:

Всередині необхідної функції ви можете безпосередньо отримати доступ до функцій jQuery, використовуючи один jQueryабо його короткий псевдонім форми, $знак долара . Наприклад:

require(['jquery', 'jquery/ui'], function($){
  jQuery(document).ready( function() {
    alert("Page loaded.");
  });
});

Ось приклад з $псевдонімом:

require(['jquery', 'jquery/ui'], function($){
  $(document).ready( function() {
    alert("Page loaded.");
  });
});

Чи можна включити prototype.js?
Slimshadddyyy

@Vikram, Так, просто додай елемент 'прототип' до масиву, який ти передаєш, щоб вимагати () функції.
Роман Глушко

4

Jquery / JqueryUI додали в magento2. Ви можете бачити в lib / web / jquery

Щоб використовувати jquery або зателефонувати віджет magento. З вашого js-файлу

define([
  'jquery',
  'jquery/ui',
  'mage/<widget.name>' found in /lib/web/mage dir
], function($){

$.widget('<your_namespace>.<your_widget_name>', $.mage.<widget.name>, {  CODE HERE... });

return $.<your_namespace>.<your_widget_name>;

});

3
Я спробував це, і це не працює, ви можете розмістити щось відповідно до теми.
Qaisar Satti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.