1

让我们建议我有一个数据库来处理我的大部分对象管理。对于每个资源,它允许我选择一个基类,将它自己的原型函数添加到其中。

例如,如果我有,

  interface IJob
  {
     openJob();
  }
  class Job : IJob
  {
     openJob() => {console.log('open');}
  }

然后通过 Store.job.create() 创建我的工作;它返回一个类的实例,但它也用原型函数(如 .save()、.update() 等)装饰它

问题是,如果我尝试在作业实例上使用 .save() ,它是未定义的,因为接口没有定义它。现在,如果我确实定义了它,它希望我在类中定义 .save/.update ,我真的不想这样做,因为商店已经在类中添加原型函数。

有没有最好的方法来处理这个?

作为参考,我正在尝试使用 js-data 作为我的数据存储库。

4

1 回答 1

2

现在,如果我确实定义了它,它希望我在类中定义 .save/.update ,我真的不想这样做,因为商店已经在类中添加原型函数。

你在找什么是mixins。并且有 mixins 的官方链接:https ://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Mixins.md这表明您确实需要在类中声明这些,即使您没有定义他们(他们混在一起)。

于 2015-11-04T07:22:07.810 回答