self.work_days = ko.observableArray();
self.work_days().push(new WorkDayVM({}, new_date))//new_date is the date supplied from the form
function WorkDayVM(data, day) {
var self = this;
self.in_time1 = ko.observable();
self.out_time1 = ko.observable();
self.in_time2 = ko.observable();
self.out_time2 = ko.observable();
self.work_time = ko.computed(function() {
var in_time1_raw = self.in_time1();
var out_time1_raw = self.out_time1();
var in_time2_raw = self.in_time2();
var out_time2_raw = self.out_time2();
if(!in_time1_raw || !out_time1_raw || !in_time2_raw || !out_time2_raw)
return;
var t1 = get_minutes(in_time1_raw);
var t2 = get_minutes(out_time1_raw);
var t3 = get_minutes(in_time2_raw);
var t4 = get_minutes(out_time2_raw);
res = t2 - t1 + t4 - t3;
return get_hr_m(res);//returns hr:min
}, this);
}
console.log(self.work_days()[0].work_time); //prints dependentobservable()
console.log(self.work_days()[0].work_time());//prints undefined
work_time 값을 가져오고 싶습니다. 그 값에 접근하는 방법?knockout js에서 observablearray의 ko.computed 메소드에 액세스하는 방법
'WorkDayVM'에 푸시 된 데이터가 있습니까? 당신의 예제에서 빈'data' 객체를'WorkDayVM'에 넣으면'work_time' 계산 결과가 undefined가됩니다. – rwisch45