A,B 俩类需要有个共同的方法,我自然就写了个父类给他们继承,写完测试 OK
紧接着我想这里意思表达不太对,不应该用继承的思想,应该用 mixin 思想才准确一点,那我写个装饰器来把共同的方法 mixin 进去也简单
function mixins (...objects) {
return function (target) {
Object.assign(target.prototype, ...objects)
}
}
@mixins(obj)
class A {}
然后就是类型提示的问题一堆报红,我又不想用 any 头疼死我了,但这还不是关键,关键是这么做是无法推导出被 mixin 进去的方法
最后看了官网的介绍 https://www.typescriptlang.org/docs/handbook/mixins.html
这写法还是麻烦了点,看起来不够优雅,没有装饰器那么直观
最终决定不折腾不蛋疼,代码改回去了😔
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.