Как передать данные компоненту непосредственно из клика или обработчик клика без прокси-объекта? - PullRequest
0 голосов
/ 24 июня 2019

У меня есть таблица объектов, в каждой строке есть иконка редактирования карандаша. У меня есть компонент диалога редактирования, который берет объект и позволяет редактировать, проблема в том, как мне подключить значок карандаша, запустить диалог с этим объектом?

<tr v-for="obj in objs" :key="obj.id">
  <td>
    <input type="checkbox" v-model="selected" :value="obj.id" number>
  </td>

  <td class="text-left">{{obj.name}}</td>
  <td class="text-left">{{obj.description}}</td>

  <!-- buttons -->
  <td>
    <div class="btn-group" role="group">
      <button type="button"
              class="btn btn-outline-dark btn-sm btn-unstyled"
              @click="???"
              data-toggle="modal"
              data-target="#edit-dlg">
        <fa-icon icon="pencil-alt" />
      </button>
    </div>
  </td>
</tr>

<edit-student-dialog id="edit-dlg" :student="???" />

Я знаю, что могу просто сделать selectedItem в родительском элементе и привязать к нему подпрограмму дочерних компонентов диалога, но мне не нравится это решение, тем более что я снова клонирую объект в диалоге. Это кажется ненужным. Я просто хочу передать объект напрямую компоненту диалога без прокси.

Каков наилучший способ достичь этого?

...