gpt4 book ai didi

javascript - 模型上的 TypeScript 自定义装饰器

转载 作者:行者123 更新时间:2023-12-03 07:42:44 25 4
gpt4 key购买 nike

我有一个类(class)如下:

class Person {
@indexField
id : number;
name : string;
}

现在我想实现一个方法(不用介意设计,只是一个例子) - 这将允许我动态获取索引字段。

所以,

    class Person {
@indexField
id : number;
name : string;

public function getIndex(){
//Find which property is marked with "@indexField" and dynamically return value.
}
}

这些例子让我有点困惑:https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#decorators

模型中类似的方法是什么?

function indexField(target, key, descriptor) {
getObjectInstanceSomehow().setIndexerField(key); //?
}

最佳答案

这样怎么样?

function indexField(target, propertyKey) {

console.log("Index property is: ", propertyKey);
target.indexKey = propertyKey
}

class Person {
@indexField
id:number;
name:string;

getIndex() {
return this['indexKey'];
}
}

let p = new Person();
console.log(p.getIndex()); // prints "id"

[Playground ]

这只是一个例子。您可以根据需要存储索引 propertyKey

资源:

关于javascript - 模型上的 TypeScript 自定义装饰器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com