Как использовать частные методы в контроллере js-стимулов?

#javascript #stimulusjs

Вопрос:

У меня ниже довольно стандартный на вид и просто контроллер stimulusJS. Как вы можете видеть, существует некоторое дублирование кода. Что я хотел бы сделать, так это извлечь this.toggleTarget.classList.add(html_class) строку в частный метод внутри контроллера стимула. Каков наилучший способ сделать это и нужно ли мне передавать элемент ( this.toggleTarget ) и класс ( html_class ) в этот частный метод?

 import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static targets = [ "toggle" ]

  static classes = [ "revealIn", "revealOut"]

  toggle() {
    if(this.toggleTarget.classList.contains('hidden')) {
      for ( const html_class of this.revealInClasses) {
        this.toggleTarget.classList.add(html_class)
      }

      for ( const html_class of this.revealOutClasses) {
        this.toggleTarget.classList.remove(html_class)
      }
      
    } else {
      for ( const html_class of this.revealInClasses) {
        this.toggleTarget.classList.remove(html_class)
      }

      for ( const html_class of this.revealOutClasses) {
        this.toggleTarget.classList.add(html_class)
      }
    }
  }
}