我目前正在为 H5P 插件开发一个应用程序。由于我需要为 H5P 编辑器开发一些东西,我找到了有关如何实现小部件的文档。
/**
* Color selector widget module
*
* @param {H5P.jQuery} $
*/
H5PEditor.widgets.colorSelector = H5PEditor.ColorSelector = (function ($) {
/**
* Creates color selector.
*
* @class H5PEditor.ColorSelector
*
* @param {Object} parent
* @param {Object} field
* @param {string} params
* @param {H5PEditor.SetParameters} setValue
*/
function C(parent, field, params, setValue) {
this.parent = parent;
this.field = field;
this.params = params;
this.setValue = setValue;
}
/**
* Append the field to the wrapper.
*
* @param {H5P.jQuery} $wrapper
*/
C.prototype.appendTo = function ($wrapper) {};
/**
* Validate the current values.
*
* @returns {boolean}
*/
C.prototype.validate = function () {};
/**
* Remove the current field
*/
C.prototype.remove = function () {};
return C;
})(H5P.jQuery);
由于我需要使用我已经在 typesript 中编写的其他类,因此我希望在使用我选择的编程语言时保持一致。我特别试图围绕实际代码的第一行和最后一行:我必须声明两个具有相同内容的类吗?老实说,我以前从未见过这样的建筑。
我会非常感谢一些提示,如何正确地将这个例子翻译成打字稿。你也可以放弃一些概念,例如如何命名这个结构。
非常感谢您!