如何解决当将类放在工厂函数之外时,为什么不能访问uid和其他属性?
如果我将TodoItem类项放在函数之外,而改写return new TodoItem(),则无法访问uid和其他属性。而且我不知道为什么要在函数内部创建对象,所以它也应该将其纳入范围?我认为。
function TodoItemFactory(todoItem = {}) {
const uid = todoItem.uid || utils.generateRandomString()
const createdTime = todoItem.createdTime || new Date()
let title = todoItem.title || ''
let modifiedTime = todoItem.modifiedTime || createdTime
let isCompleted = todoItem.isCompleted || false
let isDeleted = todoItem.isDeleted || false
return new (class TodoItem {
setTitle(newTitle) {
title = newTitle
this.setModifiedTimeToCurrentTime()
}
setModifiedTimeToCurrentTime() {
modifiedTime = new Date()
}
setIsCompleted(bool) {
isCompleted = bool
this.setModifiedTimeToCurrentTime()
}
setIsDeleted(bool) {
isDeleted = bool
this.setModifiedTimeToCurrentTime()
}
getAllProperties() {
return {
uid,createdTime,modifiedTime,isDeleted,isCompleted,title
}
}
})()
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。