如何声明添加到原型链的方法?

时间:2015-03-31 18:24:29

标签: typescript

鉴于此

class GameActions {
  bootstrap() {
    return fetchGames().then((data: any) => {
      // error
      this.dispatch(data)
    })
  }
}

module.exports = alt.createActions(GameActions)

如何通知打字稿在原型链中找到dispatchalt.createActions通过原型继承添加dispatch。此外,alt是来自npm的外部通量库。

1 个答案:

答案 0 :(得分:2)

  

alt.createActions(GameActions)

这实际上是mixin。目前在TypeScript中没有关于mixins的好故事。有关于如何键入它的文档:https://github.com/Microsoft/TypeScript/wiki/Mixins

你基本上声明这些成员存在但不定义他们,即:

class GameActions {
  bootstrap() {
    return fetchGames().then((data: any) => {
      this.dispatch(data)
    })
  }

  // Dispatchable:
  dispatch: Function;
}

module.exports = alt.createActions(GameActions)

Mixins在2.0的路线图中:http://github.com/Microsoft/TypeScript/wiki/Roadmap#20此外,您可以在此处开始讨论:http://github.com/Microsoft/TypeScript/issues如果您能提出提案,那就太棒了