gpt4 book ai didi

javascript - 在 Typescript 中如何设置一个新类作为原型(prototype)?

转载 作者:太空宇宙 更新时间:2023-11-04 15:35:36 30 4
gpt4 key购买 nike

这是我想要实现的输出:

MyTypeScriptClass.prototype = new ko.templateEngine();

这是我的 TypeScript:

module Knockout {
export class MyTypeScriptClass implements KnockoutNativeTemplateEngine {
allowTemplateRewriting: boolean = false;

renderTemplateSource(templateSource, bindingContext, options) {
// does some custom work
}
}
}

最佳答案

您应该能够使用如下内容:

import * as ko from "knockout";

export class MyTypeScriptClass extends ko.templateEngine {
allowTemplateRewriting: boolean = false;

public renderTemplateSource(
templateSource: Object,
bindingContext: KnockoutBindingContext,
options: Object) {

return /* does some custom work */;
}
}

输出的 ES5 代码非常不同,因为它使用 __extends 帮助器:

var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};

var ko = require("knockout");

var MyTypeScriptClass = (function (_super) {
__extends(MyTypeScriptClass, _super);
function MyTypeScriptClass() {
var _this = _super.apply(this, arguments) || this;
_this.allowTemplateRewriting = false;
return _this;
}
MyTypeScriptClass.prototype.renderTemplateSource = function (templateSource, bindingContext, options) {
return [];
};
return MyTypeScriptClass;
}(ko.templateEngine));

exports.MyTypeScriptClass = MyTypeScriptClass;

但行为应该是相同的。

关于javascript - 在 Typescript 中如何设置一个新类作为原型(prototype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395696/

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