我正在嘗試理解以下代碼,但無法了解該行const ej2_popups_1 = require("@syncfusion/ej2-popups");的具體操作?我在網上搜索,發現require陳述句正在加載一個模塊,但是問題來了,它到底是用什么const ej2_popups_1以及它代表的是哪個物件,即全名如aaa.bbb.ccd.Dialog。
我需要完全限定名稱的原因是因為我想覆寫someMethod在 ej2_popups_1.Dialog.prototype.someMethod 中呼叫的方法。
const ej2_popups_1 = require("@syncfusion/ej2-popups");
/**
* Modal Dialog sample
*/
// Rendering modal Dialog by enabling 'isModal' as true
let dialogObj = new ej2_popups_1.Dialog({
width: '92%',
header: 'Software Update',
content: 'Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.Your current software version is up to date.d ',
target: document.getElementById('target'),
isModal: true,
animationSettings: { effect: 'None' },
buttons: [{
click: dlgButtonClick,
buttonModel: { content: 'OK', isPrimary: true }
}],
open: dialogOpen,
close: dialogClose
});
uj5u.com熱心網友回復:
在 RequireJS 模式中,您不必將事物定義為全域變數,而是有兩個全域變數:require 和 define,它們允許您創建和使用模塊。
來自 RequireJS 檔案:https ://requirejs.org/docs/api.html#define
模塊與傳統腳本檔案的不同之處在于它定義了一個范圍良好的物件,以避免污染全域命名空間。它可以顯式列出其依賴項并獲取這些依賴項的句柄,而無需參考全域物件,而是將依賴項作為定義模塊的函式的引數接收。
所以,這個 require 函式完成了“視窗”的作業——因為它知道你的其他依賴項。并且它沒有那么緊密耦合 - 變數與可配置的東西,如基于包/模塊的字串名稱的查找。這里也描述了它的作業原理
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491802.html
標籤:javascript 需要js
