Я пытаюсь передать идентификатор пользователя из моего шаблона блэйда в Vue for Axios после запроса на сервер - PullRequest
0 голосов
/ 19 февраля 2019

Однако, когда я нажимаю кнопку, только первая кнопка содержит идентификатор пользователя, остальное возвращает ноль.Кроме того, в зависимости от того, где я размещаю свой тег id в HTML, data-id будет пустым.Как я могу передать данные из моего блэйда в Vue.js для почтового запроса Axios, который содержит идентификатор поста?

const app = new Vue({
  el: '#like',
  data: {
    post_id: '',
  },

  methods: {
    whichId: function(event) {
      this.post_id = this.$el.getAttribute('data-id');
      console.log(this.$el.getAttribute('data-id'));
    }
  }
})
<div class="container" id="like">
  <table class="table mt-5">
    <tbody>
      @foreach ($posts as $post)
      <tr>
        <td><img src="images/profil.svg" class="rounded-circle border border-dark ml-2" width="60" height="60" alt=""></td>
        <td>{{ $post->username->name }}</td>
        <td>{{ $post->content }}</td>
        <td>
          <button v-on:click="whichId" data-id="{{ $post->id }}">
            <img src="/images/heart.svg" width="30" height="30" />
          </button>
        </td>
        <td>{{ $post->created_at->diffForHumans() }}</td>
      </tr>
      @endforeach
    </tbody>
  </table>
</div>

1 Ответ

0 голосов
/ 19 февраля 2019

this.$el будет ссылаться на элемент.При использовании PHP для перебора записей.Вы должны передать идентификатор через обработчик события click.Спасибо Уилку Рэндаллу на Laracast за помощь.

methods: {
    whichId (postId) {
          console.log(postId);
    }
}
<td><button v-on:click="whichId({{ $post->id }})"<img src="/images/heart.svg" width="30"></button></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...