0
我正在使用Vue資源連接到我的後端api。我有一個表單組件,用於創建新資源項目和修改現有資源項目。表單工作正常,但是當我想保存表單時,它需要使用正確的http方法進行api調用。如果我正在創建一個新項目,它應該使用POST
方法,如果我正在更新現有項目,它應該使用PUT
方法。現在,我的形式保存方法看起來是這樣的:Vue資源,使用相同的表單進行插入和更新
if(this.itemId > 0) { // Update existing item
myresource.update({id: this.itemId}, this.item).then(response => {
//...
}, response => {
//...
});
}
else { // Post new item
myresource.save({}, this.item).then(response => {
//...
}, response => {
//...
});
}
基本上,我必須使用if
語句來檢查是否使用update
或save
資源的功能,那麼成功/失敗的承諾都使用相同的碼。有沒有一些方法,以這兩種方法具有這樣的結合上面:
var method = this.itemId ? 'PUT' : 'POST';
myresource.request(method, {id: this.itemId}, this.item).then(response => {
//...
}, response => {
//...
});
上面的代碼顯然是行不通的,但有一個類似的方式來做到這一點不使用if
聲明和重複我的成功/每個請求類型失敗的承諾?
這看起來像它應該很好地完成。謝謝! – matt