Bagaimana cara menggunakan perpustakaan jquery di Magento 2?

26

Saya membuat tema Magento di mana saya harus memasukkan jQuery.

Ketika saya menambahkan ini <link src="js/jquery-1.7.1.js"/>di head. Ini berfungsi tetapi fungsi javascript Magento tidak berfungsi. Bagaimana cara menggunakan Magento 2 yang dibangun di perpustakaan jQuery pada tema khusus?

Qaisar Satti
sumber
jquery sudah ditambahkan ke m2. Jika Anda memerlukan jquery dalam file phtml khusus Anda, lalu gunakan dengan memerlukan.js
Shaheer Ali
ya saya tahu bahwa saya ingin menggunakan tema khusus .. saya punya file yang bergantung pada pustaka jquery.
Qaisar Satti
1
use need (['jquery', 'jquery / ui'], function ($) {}
Shaheer Ali
Anda dapat menambahkan jnal ekstra dengan menggunakan <script src = "[Vendor_Ext] :: js / custom.js" />
Shaheer Ali
Sejak kapan Anda memasukkan js dengan linktag ??? Anda harus menggunakan tag skrip
Black

Jawaban:

52

Jika Anda menambahkan pustaka js kustom Anda selain jQuery maka Anda harus memasukkan kode js di dalamnya yang memerlukan fungsi seperti:

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

Contoh:

Di dalam fungsi yang diperlukan, Anda dapat langsung mengakses fungsionalitas jQuery di tempat dengan menggunakan salah satu jQueryatau bentuk singkatnya, $tanda dolar . Sebagai contoh:

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

Berikut ini adalah contoh dengan $alias:

require(['jquery', 'jquery/ui'], function($){
  $(document).ready( function() {
    alert("Page loaded.");
  });
});
Shaheer Ali
sumber
Apakah mungkin untuk memasukkan prototype.js?
Slimshadddyyy
@ Vikram, Ya, tambahkan saja elemen 'prototipe' ke array yang Anda lewati untuk membutuhkan fungsi ().
Roman Glushko
4

Jquery / JqueryUI telah menambahkan di magento2. Anda dapat melihat di lib / web / jquery

Untuk menggunakan jquery atau widget panggilan Magento. Dari file js Anda

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>;

});
mrtuvn
sumber
3
Saya sudah mencobanya dan ternyata tidak berfungsi bisakah Anda menempatkan sesuatu sesuai tema.
Qaisar Satti