Làm thế nào để sử dụng thư viện jquery trong Magento 2?


26

Tôi đang tạo một chủ đề Magento nơi tôi cần bao gồm jQuery.

Khi tôi thêm cái này <link src="js/jquery-1.7.1.js"/>vào head. Nó đang hoạt động nhưng các chức năng javascript Magento không hoạt động. Làm cách nào để sử dụng Magento 2 được xây dựng trong thư viện jQuery trên một chủ đề tùy chỉnh?


jquery đã được thêm vào m2. Nếu bạn cần jquery trong tệp phtml tùy chỉnh của mình thì hãy sử dụng nó bằng
request.js

vâng tôi biết rằng tôi muốn sử dụng trong chủ đề tùy chỉnh .. tôi có tệp phụ thuộc vào thư viện jquery.
Qaisar Satti

1
sử dụng yêu cầu (['jquery', 'jquery / ui'], hàm ($) {}
Shaheer Ali

bạn có thể thêm js ngoài bằng cách sử dụng <script src = "[Vendor_Ext] :: js / custom.js" />
Shaheer Ali

Từ khi nào bạn bao gồm js theo linkthẻ ??? Bạn phải sử dụng thẻ script
Đen

Câu trả lời:


52

Nếu bạn đang thêm thư viện js tùy chỉnh của mình ngoài jQuery thì bạn cần bao gồm mã js bên trong yêu cầu chức năng như:

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

Ví dụ:

Bên trong hàm yêu cầu, bạn có thể truy cập trực tiếp chức năng jQuery tại chỗ bằng cách sử dụng jQueryhoặc bí danh dạng ngắn của nó, $ký hiệu đô la . Ví dụ:

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

Đây là một ví dụ với $bí danh:

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

Có thể bao gồm nguyên mẫu.js không?
Slimshadddyyy 10/03/2016

@Vikram, Yeah, chỉ cần thêm phần tử 'nguyên mẫu' vào mảng mà bạn truyền cho hàm request ().
Roman Glushko

4

Jquery / JqueryUI đã thêm vào magento2. Bạn có thể thấy trong lib / web / jquery

Để sử dụng jquery hoặc gọi widget của magento. Từ tập tin js của bạn

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
Tôi đã thử nó và nó không hoạt động bạn có thể đặt một cái gì đó theo chủ đề.
Qaisar Satti
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.