Как удалить данные с помощью Vue JS в Laravel - PullRequest
0 голосов
/ 03 января 2019

Я хочу создать функцию удаления с помощью vue js в моем приложении laravel.

вот что я пытаюсь

мой код .vue

<tr v-for="(artist, index) in artists.data">
    <td>{{ artist.artist_name }}</td>
    <td>{{ artist.gender }}</td>
    <td>{{ artist.created_at }}</td>
    <td>{{ artist.updated_at }}</td>
    <td>Edit | <a href="javascript:;" v-on:click="deleteUser(artist.id, index)">Delete</a></td>

моя переменная

data() {
    return {
        term:'',
        disabled: 0,
        artists: [],
        results: [],
        loading: false,
        noResults: false,
        SearchDiv: false,
        IndexDiv: true
    }
},

мой метод удаления

deleteUser(id, index) {
    axios.delete('/api/artist/'+id)
    .then(resp => {
        this.artists.splice(index, 1);
    })
    .catch(error => {
        console.log(error);
    })
}

ошибка, которую я получаю

Ошибка типа: _this4.artists.splice не является функцией

код выше может удалить данные из базы данных, но не удалить данные из результата массива.

1 Ответ

0 голосов
/ 03 января 2019

Вы объединяете данные с его родительским массивом.

Попробуйте это.

this.artists.data.splice(index, 1);
...