如何使用vue-resource插件按需删除对象?
How do I use the vue-resource plugin to delete an object on demand?
使用vue-resource插件,它有一个这样的例子:
new Vue({
ready: function() {
var resource = this.$resource('someItem{/id}');
// delete item
resource.delete({id: 1}).then(function (response) {
// handle success
}, function (response) {
// handle error
});
}
})
我有点困惑,这是在 ready
属性 下,因为它表明它会在组件加载后立即运行并删除某些内容。我如何通过单击元素实际使用 resource.delete
函数?例如,我有这个:
<div @click="deleteReward(reward)" class="glyphicon glyphicon-trash pull-right"></div>
当前调用的是:
deleteReward(reward) {
this.rewards.$remove(reward);
this.$http.delete('api/reward/' + reward.id).then(function (response) {
console.log('deleted ' + reward.name);
});
},
但我的理解是我应该能够以某种方式调用 resource.delete
而不必明确指定 URL 和方法。我的假设错了吗?
我想要的是做类似 @click="reward.delete()"
的事情,让它知道自动调用 resource.delete
并让 resource.delete
接受奖励对象作为参数。
您可以尝试这样的操作:
new Vue({
data: {
resource: null
},
ready: function() {
this.resource = this.$resource('api/reward{/id}')
},
methods: {
deleteReward(reward) {
this.resource.delete({id:reward.id}).then(function (response) {
console.log('deleted ' + reward.name)
})
}
}
})
然后:
<div @click="deleteReward(reward)"></div>
使用vue-resource插件,它有一个这样的例子:
new Vue({
ready: function() {
var resource = this.$resource('someItem{/id}');
// delete item
resource.delete({id: 1}).then(function (response) {
// handle success
}, function (response) {
// handle error
});
}
})
我有点困惑,这是在 ready
属性 下,因为它表明它会在组件加载后立即运行并删除某些内容。我如何通过单击元素实际使用 resource.delete
函数?例如,我有这个:
<div @click="deleteReward(reward)" class="glyphicon glyphicon-trash pull-right"></div>
当前调用的是:
deleteReward(reward) {
this.rewards.$remove(reward);
this.$http.delete('api/reward/' + reward.id).then(function (response) {
console.log('deleted ' + reward.name);
});
},
但我的理解是我应该能够以某种方式调用 resource.delete
而不必明确指定 URL 和方法。我的假设错了吗?
我想要的是做类似 @click="reward.delete()"
的事情,让它知道自动调用 resource.delete
并让 resource.delete
接受奖励对象作为参数。
您可以尝试这样的操作:
new Vue({
data: {
resource: null
},
ready: function() {
this.resource = this.$resource('api/reward{/id}')
},
methods: {
deleteReward(reward) {
this.resource.delete({id:reward.id}).then(function (response) {
console.log('deleted ' + reward.name)
})
}
}
})
然后:
<div @click="deleteReward(reward)"></div>