gpt4 book ai didi

javascript - 如何在 Javascript 中使用 DOJO 创建静态类

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:34 25 4
gpt4 key购买 nike

我正尝试在 JavaScript 中创建一个 Utility 类并使用 Dojo 框架。我在这里找不到任何关于如何在 Dojo 框架内正确创建静态类的信息。我不想每次都创建一个新的 Utility 对象。我也不想使用 Singleton。

我目前有这样的东西......

//Util.js

define(["dojo/_base/declare",
"dojo/domReady!"], function (declare) {
return declare(null, {
//Pass in string format of element's ID
clearTextBox: function (elemID) {
document.getElementById(elemID).value = "";
}
});
});

注意:我使用的是 AMD 而不是旧版代码

最佳答案

正如其中一条评论中提到的,您根本不需要“类”来完成您的要求。这是 JavaScript,不是 Java 或 C# 等。

您只需要定义一个模块,它返回一个带有实用函数的对象。

define([], function () {
return {
clearTextBox: function (id) {
document.getElementById(id).value = '';
}
};
});

这是一种非常普遍的做法,甚至被 Dojo 本身用于实用模块,例如 dojo/_base/arraydojo/_base/lang道场/日期

这也不会每次都创建一个新对象,因为每个 AMD 模块只会加载一次,并且它的工厂函数只会执行一次。

Dojo 是一个工具包,而不是一个框架,通常不会强制您以某种方式做某事。不要陷入认为您创建的每个模块都需要是使用 declare 的“类”的想法。当您需要定义具有继承功能的构造函数或混合时,请使用 declare

关于javascript - 如何在 Javascript 中使用 DOJO 创建静态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com