我想在模块内创建一个具有get/set属性的变量。
我看到了一些在类中创建get/set属性的工作示例,如下所示:
class MyClass {
private view;
get View() { return this.view; }
set View(value) { this.view = value }
}
但是我想在模块内部做同样的事情:
module MyModule {
export var view;
//I want to create get/set methods for view property here
}
我怎么做 ?
最佳答案
我认为这只是一个疏忽。我将向设计团队提出这个问题(除了“我们尚未实现”之外,没有其他明显的原因会被禁止)。解决缺乏一流语言支持的问题非常简单:
module Bar {
var _qua = 42;
declare export var qua: number;
Object.defineProperty(Bar, 'qua', {
get: function() { return _qua; },
set: function(value) { _qua = value; }
});
}
// Works
var x = Bar.qua;
console.log(x);
Bar.qua = 19;
console.log(Bar.qua);