Как получить все дочерние цели

#stimulusjs

#stimulusjs

Вопрос:

Мой вопрос в том, как получить целевые значения данных всех вложенных контроллеров?


Пример:

Событие имеет несколько задач. Итак, у меня есть контроллер событий и задачи. Я хочу получать значения содержимого из задач в контроллер событий.

Пробовал что-то вроде этого:

const nodes = this.data.element.childNodes

Или this.contentTarget.dataset

В представлении задачи у меня есть:

data-target="task.content event.content"

Итак, существует один экземпляр контроллера событий и n контроллеров задач. Как получить все названия задач?

Ответ №1:

Если у вас есть все узлы, помеченные data-target="event.content" , вам вообще не нужно иметь дело с контроллерами задач, вы можете просто ссылаться на них в EventController как

 class EventController {
  static targets = ["content", ...];

  doSomething() {
    const targets = this.contentTargets;
    ...
  }
}
  

Комментарии:

1. Так просто, но я не знал. Спасибо @переписано. Я просто повторяю цели и получаю innerText