我一直在浏览 nativescript 代码库,看看如何为{N} 3.0.1更新我的一些插件,我用这种方式看到了很多类方法。
[srcProperty.setNative](value: any) {
this._createImageSourceFromSrc(value);
}
查看image-common.ts和image.android.ts的内容以查看完整的来源。
为什么 image.android.ts 中的 image-common.ts 导出的const的属性是一种方法,为什么它们用方括号括起来?
答案 0 :(得分:3)
它会在该类的原型上生成一个带有计算名称的属性。
虽然没有很好地使用这个完全有效的javascript /打字稿代码。它确实会导致一些打字丢失。
此打字稿代码:
let propName = 'someMethod';
class A {
[propName](): number {
console.log(propName);
return 5;
}
}
let a = new A();
let x = a[propName]()
将导致此javascript输出。
var propName = 'someMethod';
var A = (function () {
function A() {
}
A.prototype[propName] = function () {
console.log(propName);
return 5;
};
return A;
}());
var a = new A();
var x = a[propName]();
您可以看到一个有效的例子here。