У меня есть следующий завод, на котором я расширил расписание с новым свойством: start. Однако я как-то не делаю этого правильно, потому что _start, похоже, находится на неправильном уровне. Все записи в Timesheet возвращаются к такому же началу.Расширить использование defineProperty, где поставить приватную переменную?
Как я могу поместить его в расписание?
.factory('Timesheets', function($resource, LinkData) {
var Timesheet = $resource('http://127.0.0.1:3000/api/v1/timesheets/:id',{id:'@id'}, {update:{method:'PUT'}});
var _start;
Object.defineProperty(Timesheet.prototype, 'start', {
get: function() {
if (_start == undefined){
_start = moment(this.time_start).format();
}
return _start;
},
set: function(value) {
if (moment(value).isValid()) {
this.time_start = value;
_start = value;
}
}
});
что возвращается на завод? поскольку сервис является singleton, вам, вероятно, нужно поставить '_start' в объект' Timesheet' – elaijuh