Я работаю над электронным настольным приложением и использую в качестве базы данных NeDB.Поэтому мне нужно сохранить формы в базе данных.Я создал класс, который содержит свойства объекта, которые я хочу сохранить в базе данных с помощью метода вставки. Я добавлю больше методов, затем я создам другой класс, расширенный из первого класса, который будет обрабатывать события формы и заполнять свойства в первом классе,теперь мне нужно вставить только свойства родительского класса в базы данных.
Я создал метод в родительском классе 'insert', чтобы он вставлял этот объект в базу данных, я вызываю его из расширенного класса, но он дает мне'this = undefined' и я попытался передать 'this' в качестве аргумента методу вставки, затем он сохраняет весь объект в базу данных, а не единственные свойства, которые мне нужно сохранить.
родительский класс
db = require '../database/db.js'
class Member
constructor: (@id, @cin, @firstName, @lastName, @birthday, @telephone, @email, @address, @dateOfSubscribe, @achievement) ->
insert: (obj) ->
return new Promise (reject, resolve) ->
db.members.insert doc: obj
.then (respond) ->
resolve respond
.catch (err) ->
reject err
module.exports = Member
расширенный класс
Member = require './member.js'
class Form extends Member
constructor: (@elem) ->
super()
@elem.oninput = @onInput.bind @
@elem.onchange = @onChange.bind @
@elem.onsubmit = @onSubmit.bind @
onInput: (event) ->
{name, value} = event.target
@[name] = value
onChange: (event) ->
# console.log '--on change event: ', event
# console.log @
onSubmit: (event) ->
event.preventDefault()
@.insert new Member({...this})
.then (result) ->
console.log '-- result: ', result
.catch (err) ->
console.log '-- error: ', err
new Form newMemberForm
Я хочу только сохранить свойства родительского класса в базе данных, я использую этот способ, потому что он чище, я могу изменить его, но я бы хотелскажи, что это работает.