Это хорошая идея для инкапсуляции свойства, когда это элемент DOM - PullRequest
0 голосов
/ 07 января 2019

Является ли хорошей идеей инкапсулировать то, что можно сделать в одном свойстве, когда это объект-элемент DOM? Например:

class A {
  constructor() {
    this.element = document.querySelector('.element')
  }
}

class B {
  constructor() {
    this.a = new A()
  }

  someMethod() {
    // Here I need to set a style of this.a.element
    // should I manipulate the style directly:
    this.a.element.style.marginBottom = '10px'
    // or should I use a method:
    this.a.setElementStyle('marginBottom', '10px')
  }
}

Обычно я бы использовал метод, но в этом случае элемент уже имеет хорошо описанный API (поскольку это Объект элемента DOM )

...