我有一个简单的时间输入表单,请参阅此处:https://codepen.io/dikuw/pen/rmpozm
我希望在用户添加,修改和删除行时动态存储时间数据,并且思考对象是最好的方法。
我的问题是什么是最佳做法?我应该创建一个构造函数,例如
function TimesheetRecord(id, TSDate, TSStaffId, Hours, Comments, TSTaskId, Billable) {
this.id = id;
this.TSDate = TSDate;
this.TSStaffId = TSStaffId;
this.Hours = Hours;
this.Comments = Comments;
this.TSTaskId = TSTaskId;
this.Billable = Billable;
}
然后每次用户添加一行时动态创建一个新对象?如果我这样做,我怎么知道有多少物体?
答案 0 :(得分:1)
在这里,您可以创建一个数组来存储所有TimesheetRecords,并在创建新动态对象时推送它。
// When app starts (dataFromDB is data fetched from db if any)
const TimesheetRecords = dataFromDB || []
// create a new record(mainly in a function)
const TimesheetRecord = {
id: id,
TSDate: TSDate,
TSStaffId: TSStaffId,
Hours: Hours,
Comments: Comments,
TSTaskId: TSTaskId,
Billable: Billable
}
// store to db (ajax) and then push to array
TimesheetRecords.push(TimesheetRecord)
// Check how many records are there
const count = TimesheetRecords.length
这是在JavaScript中存储没有任何行为(方法)的简单对象的常见模式。