在使用typescript接口时,如何处理原型类
How do I deal with prototype classes when working with typescript interfaces
让我们建议我有一个处理大部分对象管理的数据库。对于每个资源,它允许我选择一个基类,它将自己的原型函数添加到该基类中
例如,如果我有,
interface IJob
{
openJob();
}
class Job : IJob
{
openJob() => {console.log('open');}
}
然后通过创建我的作业Store.job.create();它返回类的一个实例,但它也用原型函数装饰它,如.save()、.update()等
问题是,如果我试图在作业实例上使用.save(),它是未定义的,因为接口没有定义它。现在,如果我定义了它,它希望我在类中定义.save/.update,而我并不真的想这样做,因为存储区已经在向类中添加原型函数了。
有没有最好的方法来处理这个问题?
作为参考,我尝试使用js数据作为我的数据存储库。
现在,如果我定义了它,它希望我在类中定义.save/.update,但我并不想这样做,因为商店已经在向类中添加原型函数了。
你要找的是mixin。还有一些关于mixin的官方链接:https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Mixins.md这向表明,即使您没有定义它们,也需要在类中声明它们(并且它们会混合在一起)。
相关文章:
- 保存淘汰函数时如何处理原型
- 处理类内的事件(原型)
- 匿名事件处理程序无权访问原型方法
- 如何在原型js中将DIV从显示无到阻止进行动画处理
- 原型方法中的事件处理程序函数,为什么它认为.keyCode是JavaScript中未定义的属性
- JavaScript 原型链接,使用“self”对此进行简单处理
- 在原型中定义处理程序函数
- 尝试解除绑定$.proxy中的原型事件处理程序
- 处理self和constructor参数的Javascript原型
- 在使用typescript接口时,如何处理原型类
- 如何在 JavaScript 中将事件处理程序添加到对象的原型中
- 保存& # 39;这个# 39;javascript原型事件处理程序中的引用
- 重写用于事件处理的父原型方法
- 如何在原型中获得和处理ajax请求给出的json数据
- 我该如何处理一个对象以便制作原型
- 使用原型和处理执行顺序
- 如何处理"left"和“;right"键在原型上
- 在事件处理程序中获取原型
- 处理ajax和生成超越原型的html的最佳方法是什么
- 如何访问类原型Javascript中定义的事件处理程序中的类成员变量