2017-02-25 75 views
0

我被困在使用vue js和laravel進行刪除的方法中。我嘗試使用laravel資源爲href屬性添加一個值,並通過id作爲第二個參數,但是當我點擊它並在控制檯上顯示ID時,它會向所有不正確的數據顯示相同的ID。使用laravel和vue js刪除記錄

樣品片:

<a id="deleteRecord" data-id="{{$project->id}}" @click.prevent="deleteRecord" class="btn btn-circle btn-icon-only btn-danger" href="{{ route('projects.store', $project->id) }}"> 
    <i class="icon-trash"></i> 
</a> 

Vue的方法:

deleteRecord: function(id) { 
    var dataId = $('#deleteRecord').attr('href') 
    console.log(dataId); 
} 
+0

Laravel資源只能用DELETE方法刪除。你必須使用'axios'併發送一個'DELETE'查詢。 – EddyTheDove

+0

@EddyTheDove,是的,但我知道這可以使用vue完成,並顯示一些很酷的確認模式或類似的東西。 – claudios

+0

當然。 'axios'住在你的'Vue'方法裏面。好的,它不一定是axios。任何http客戶端都可以。 – EddyTheDove

回答

0

內,您的方法deleteRecord:

this.$http.delete(url) 
.success(function(response) { 
    console.log(response) 
}) 
.error(function(errors) { 
    console.log(error) 
}); 

或使用方法的內部Axios公司

axios.delete(url) 
.then(function (response) { 
    console.log(response); 
}) 
.catch(function (error) { 
    console.log(error); 
}); 
+0

'無法讀取屬性'刪除'未定義' – claudios

+0

您必須手動添加'npm install --save axios'的axios並在您的Vuejs中需要它。 'axios'是一個JS庫。 – EddyTheDove

+0

我試過但沒有運氣,同樣的錯誤。 – claudios

0

我現在明白了。我只是在這裏發佈,以幫助其他人。

deleteRecord: function(id) { 
    var url = "projects" + "/" + id; 
    $.ajax({ 
     url: url, 
     type: 'DELETE', 
     data: { "_token": "{{ csrf_token() }}" }, 
     success: function(response) { 
      //do some success stuff here.. 
     } 
    }); 
}