javascript - 将方法传递给打字稿装饰器
问题描述
我正在尝试将方法传递给打字稿装饰器。当我将其作为内联箭头函数执行时,我可以这样做。但我无法通过以下方式做到这一点:
function preProcessor(preFn:any) {
return function (
target: any,
propertyKey: string,
descriptor: PropertyDescriptor
) {
descriptor.value = function (param:any) {
return preFn(param);
}
};
}
class C {
@preProcessor(this.capitalize)
methodA(str: any) {
console.log(str) }
capitalize = (x:any)=>{return x.toUpperCase()}
}
var c = new C()
console.log(c.methodA("samurai..."))
这有效:
@preProcessor((x:any)=>{return x.toUpperCase()})
解决方案
推荐阅读
- python - PyTest teardown_class 运行得太快了
- reactjs - Material UI - 按钮在另一个组件上不起作用
- java - 删除凌空缓存
- python - Python:即使长时间运行的批处理崩溃,我如何保存数据?
- excel - Excel公式sumproduct需要优化
- c++ - 为什么线程对类变量所做的更改没有影响?
- apache-spark - 在 HDP 多节点集群上使用 yarn-client 的 Spark 仅在同一单个节点上启动执行程序
- vba - VBA 代码帮助——从表格生成单独的 PDF
- docker - gitlab-ci 和 rancher 残差图像
- css - 类似于 Flatlist 组件的网格,其标题看起来与行相同