我有一个DTO对象,其中包含一个日期参数。我将这个DTO封装在一个视图模型对象中,然后将其属性绑定到标签上,在我的视图中显示。
<label class="form-control">{{controller.ViewModel.Date}}</label>
在视图模型中,我有一个getter如下(我正在使用TypeScript)。
public get Date(): Date {
return new Date(Date.parse(this.dto.Date));
//return moment(this.dto.Date).toDate();
}
生成的JavaScript代码:
Object.defineProperty(ViewModel.prototype, "Date", {
get: function () {
return new Date(Date.parse(this.dto.Date));
},
enumerable: true,
configurable: true
});
我认为问题出在getter中创建了新的日期对象,导致每次获取的日期都不同,直到模型稳定为止,这样会引起无限循环。
为什么Angular会这样做?
为什么它会一遍又一遍地调用getter,只调用一次有何问题?
我能否告诉Angular只调用一次getter并接受给定的值?
{{ controller.ViewModel.Date.toString() }}
- BiAiB