2017-02-25 98 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.. 
     } 
    }); 
}